qgis与qt开发基于vs环境搭建(傻瓜式教程)
嗯本人因为工作需要所以耗费一些事件摸索着如何搭建这个环境感觉网上的资料不多自己找起来也很麻烦因为是第一次本人踩了不少坑所以留下这个搭建教程希望能帮助一些人。一 正文进入qgis下载官网,Download · QGIS Web Site,跳过捐赠选项可以直接进入下载 这里选择的是installer 在线下载下载好之后右键以管理员身份打开在线安装器osgeo4w-setup.exe。需要我们自己选择安装文件所以选择高级选择安装路径这个路径要记录下来能够让你自己找得到如果不以管理员身份打开无法选择all users这个路径也是同样需要记录这里存放的主要是缓冲文件。这里讲一讲我遇到的问题因为需要请求的数据在国外所以之后步骤里在线安装器下载的十分缓慢而国内的镜像站还都没有资源部分大文件下载很慢的时候不是你多等一会他就会下载好而是很大几率崩溃哪怕是下载好他也会无法使用甚至报错。这里有两个解决办法一个是从官方文档里下载你所需要的大文件然后放在缓冲目录的指定目录下至于放在哪个目录你需要去你设置的缓冲文件夹里查找需要的对应压缩包目前下载的文件放在哪你就可以将大文件放在那里然后重新进行安装。上面这个解决办法很难办到后来要下载的大文件太多太杂部分还无法识别看个人情况。第二种解决方法就要简单很多我是在凌晨一点左右的时候进行下载这时间内国内使用数据流量的人数不多网络运营商分配的流量通道也更大所以下载国外数据也很快。个人认为第二种方法比较容易一点。这里的下载路径可以任选有的地方第二种速度很快有的地方第一种速度快。下面是需要安装的东西。点击skip就可以选中下载下面是选择完gdal之后我下载的当时因为下载速度太慢去官网下载的大文件压缩包要注意这里也有大问题。尽量选择在这个在线下载器里面安装qt并且版本只能是qt5目前qgis对qt6还不太适配作者当时花费半天时间搭建qt6与qgis但是无论怎么尝试都会报错我这里怀疑应该是接口搭配的不太对无法调用。如果你实在是想自己下载qt也尽量选择在线下载器里面的版本能够确保适配。这里就不一一展示下去了每个人需要的库文件不同我这个是进行基本开发时没什么问题能够运行tif格式文件接下来就是一直点一些同意协议之类的然后到下载这一步他会自动安装一些额外需要的依赖项之类的东西大部分缓冲文件都会放在这个release文件夹里面。安装结束开始vs环境搭建。vs环境搭建首先你要确保已安装Qt VS Tools插件扩展 → 管理扩展 → 搜索Qt安装点击继续但无需代码我这里是下载好了的配置环境变量。以下都需要查看你自己的路径在你的path环境路径下加上这些库文件主要是使得代码运行时候能够找到对应库使用头文件。注意你要查看你自己的文件安装在哪设置好环境变量记得重启。之后打开 Visual Studio 2022。确保已安装 Qt VS Tools 插件扩展 → 管理扩展 → 搜索Qt安装。点击菜单栏 “扩展” → “Qt VS Tools” → “Qt Versions”。点击 “Add” 按钮Version name输入Qt5-OSGeo4WPath浏览到D:\OSGeo4W\apps\Qt5\bin\qmake.exe点击 “OK” 保存。列表中应出现该版本左侧有绿色对勾表示默认。接下来我们就可以创建qt项目了下面这部分需要点击debug旁边的红色减号 目前qgis不支持debug 会报错首先确保自己能够正确运行如果没运行请检查环境变量以及vs拓展下载问题配置项目属性核心右键项目 →“属性”在左上角将“配置”设为“所有配置”“平台”设为“x64”。添加 Qt XML 模块进入“Qt Project Settings”在“Qt Modules”文本框中追加;xml使其变为core;gui;widgets;xml附加包含目录头文件路径进入“C/C” → “常规” → “附加包含目录”将以下一行内容完整复制进去D:\OSGeo4W\include;D:\OSGeo4W\apps\qgis-ltr-dev\include;D:\OSGeo4W\apps\Qt5\include;D:\OSGeo4W\apps\Qt5\include\QtCore;D:\OSGeo4W\apps\Qt5\include\QtGui;D:\OSGeo4W\apps\Qt5\include\QtWidgets;D:\OSGeo4W\apps\Qt5\include\QtXml这部分要参考你自己的路径附加库目录.lib 文件路径进入“链接器” → “常规” → “附加库目录”添加textD:\OSGeo4W\apps\qgis-ltr-dev\lib;D:\OSGeo4W\apps\Qt5\lib附加依赖项需要链接的库进入“链接器” → “输入” → “附加依赖项”添加以下一行如果已有其他内容用分号追加在后面qgis_core.lib;qgis_gui.lib;qgis_analysis.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;Qt5Xml.lib预处理器定义进入“C/C” → “预处理器” → “预处理器定义”添加在原本基础上_USE_MATH_DEFINES;NOMINMAX;_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNINGC 语言标准进入“C/C” → “语言” → “C语言标准”选择“ISO C17 标准 (/std:c17)”。所有环境搭建完成。#include QApplication#include QMainWindow#include QMessageBox#include qgsapplication.h#include qgsmapcanvas.h#include qgsrasterlayer.h#include qgsproject.h#include qgsmaptoolpan.h#include QDebugint main(int argc, char *argv[]){// 初始化 QGIS 应用QgsApplication app(argc, argv, true);QgsApplication::setPrefixPath(D:/OSGeo4W/apps/qgis-ltr, true);app.initQgis();// 创建主窗口QMainWindow window;window.setWindowTitle(QString::fromLocal8Bit(QGIS 加载 TIFF 测试));// 创建地图画布QgsMapCanvas *canvas new QgsMapCanvas();canvas-setCanvasColor(Qt::white);window.setCentralWidget(canvas);// 你的 TIFF 文件路径请根据实际情况修改QString tiffPath QString::fromLocal8Bit(D:/tiff_picture/SR_50M_alaska_nad.tif);// 创建栅格图层QgsRasterLayer *layer new QgsRasterLayer(tiffPath, QString::fromLocal8Bit(阿拉斯加影像), gdal);if (!layer-isValid()){QMessageBox::critical(nullptr,QString::fromLocal8Bit(错误),QString::fromLocal8Bit(无法加载 TIFF 文件\n%1).arg(tiffPath));qDebug() 图层加载失败;delete layer;return 1;}// 添加图层到项目和画布QgsProject::instance()-addMapLayer(layer);canvas-setLayers({layer});canvas-setExtent(layer-extent());canvas-refresh();// 添加平移工具QgsMapToolPan *panTool new QgsMapToolPan(canvas);canvas-setMapTool(panTool);// 显示窗口window.show();// 进入事件循环int ret app.exec();// 清理app.exitQgis();return ret;}这是我的测试代码VS打开Qt的ui界面几秒后闪退ui无法打开文件的解决办法VS打开Qt的ui界面几秒后闪退ui无法打开文件的解决办法_vs打开ui文件闪退-CSDN博客
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2435366.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!