VS配置QGIS二次开发(VS2019+QT5+QGIS3.14)

2024-09-05 00:52

本文主要是介绍VS配置QGIS二次开发(VS2019+QT5+QGIS3.14),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.1 QGIS软件下载

QGIS软件是基于QT5开发的GIS系统,其易用性及其高效性使其已经成为当下极具竞争力的GIS系统,其占有率足以与Esri的ArcGIS等主流GIS软件分庭抗礼。QGIS软件因其开源特性也使得其广受广大GIS开发者的青睐。

在本次《地理信息系统设计与开发》的第一次课程作业中,笔者将就如何下载使用QGIS软件进行详细的介绍说明。

Step1:首先,我们需要使用搜索引擎进入QGIS的官网,这里笔者测试过,可以在bing搜索或者百度直接输入“QGIS”即可找到相应的网页。其官网界面(2024年9月4日)如图1.1.1所示。

Tips:网址:Spatial without Compromise · QGIS Web Site

图1.1.1 QGIS官网界面

Step2:接下来,可以直接点击“Download”按键,进行下载,点击后会进入到QGIS的捐赠界面(爱心人士可以选择捐赠支持开源传作者),继续点击“Skit it and go to download”即可进入到软件版本下载的选择界面,如图1.1.2所示。

图1.1.2 QGIS软件下载版本选择界面

Step3:这里的选择依据自身电脑的操作系统而定,这里笔者使用的是Windows系统,因此直接点击“Long Term Version for Windows(3.34 LTR)”下载QGIS目前最新的长期支持版本3.34.10即可。

Tips:由于QGIS官网部署在境外的org主机,因此下载速度会较慢。

Step4:下载完成后,会得到一个msi格式的光盘文件,如图1.1.3所示。

图1.1.3 QGIS下载所得光盘格式文件

Step5:接下来,双击安装包进行安装指引操作即可进行相应的软件安装操作。安装完成后会将快捷方式文件夹添加到桌面。如图1.1.4所示。

Tips:这里的操作就是无脑点击下一步即可,即一直点击“next”,当然,安装位置需要根据用户的实际情况来进行相应的调整。

图1.1.4 软件安装位置

进行到这一步,软件的安装操作便已经完成,下一节就QGIS桌面端的操作给出简易的介绍。

1.2 QGIS桌面端软件操作

在上一节中,笔者已就如何下载QGIS给出详细的介绍,本节将就如何使用QGIS给出简易的介绍。

Step1:首先,找到QGIS快捷方式文件夹,打开其中的“QGIS Desktop 3.34.10”即桌面端QGIS,如图1.2.1所示。

图1.2.1 桌面端QGIS

Step2:双击打开对应的桌面端QGIS软件,由于QGIS开发的特性,所以这里首次打开时的界面是英文版本的。这里可以因此点击“Settings”,选择“Options”进入设置。如图1.2.2所示。

图1.2.2 QGIS界面操作

Step3:接下来,需要勾选“Override System Locale”启用语言配置操作,在选择语言为简体中文即可。如图1.2.3所示

图1.2.3 QGIS语言配置操作

Step3:点击确定后,需要重启软件,进行插件的适配操作。再次打开时,即会显示为中文界面,如图1.2.4所示。

图1.2.4 QGIS中文桌面端界面

Step4:这里,可以选择新建一个新工程,接下来便可以进行GIS软件的操作,这里笔者导入了一个武汉市的矢量数据进行测试演示。如图1.2.5所示。

图1.2.5 QGIS打开矢量数据测试

QGIS作为一款成熟的GIS软件,当然还具备其他的功能操作,限于篇幅这里就不一一演示了。在后续的操作中,笔者将介绍的是关于QGIS二次开发的配置操作。

1.3 QGIS二次开发组件下载

Step1:首先需要进行OSGeo4W 安装程序下载,下载地址为:Installation Guide · QGIS Web Site。当然,由于这里下载过程较慢且较为复杂,这里选择使用课程群里已经提供的预先下载安装包,解压缩可以得到对应的配置数据,如图1.3.1所示:

图1.3.1 对应环境

Tips:当然,这里也可以选择通过网络进行安装,这里主要需要安装的是对应的QGIS二次开发环境组件和支持QT5环境。

一直点下一步即可,下图界面需要耗费一些时间。

1.4 在VS中配置QGIS二次开发组件

完成了所需开发环境的下载后,便可以通过VS进行对应的环境的配置了。

Step1:首先,打开vs(笔者这里使用的是VS2019版),接下来进行QT插件的安装。这里首先要安装QT Visual Studio Tools以扩展VS的QT功能开发,即在扩展中搜索QT进行下载,如图1.4.1所示。

图1.4.1 QT扩展安装

Tips:由于VS上的插件提供多来自Github上,因此下载较慢,这里推荐使用清华镜像:

https://mirrors.tuna.tsinghua.edu.cn/qt/archive/vsaddin/3.2.0/?C=M&O=D

Step2:点击下载后,需要关闭VS,此时即会弹出对应的下载提示,进行下载即可,下载完成会进行弹窗提示,如图1.4.2所示。

图1.4.2 QT Visual Studio Tool安装成功提示

Step3:接下来,打开VS新建一个QT Widget Application项目,在对应的QT的选择时,这里选择到此前下载的配置环境中的QT5目录下的bin目录中的qmake,,同时选择为对应的Release版本,如图1.4.3所示。

图1.4.3 配置下载好的QT环境

Tips:这里我们打开对应的QT会发现已经适配好对应的QT版本,如图1.4.4所示。

图1.4.4 对应配置的QT版本显示

Step4:接下来,进行项目的属性配置,这里右键项目“属性”进行项目属性设置。

(1)设置附加包含目录

在项目->属性-> c/c++->常规中,添加“附加包含目录” ,目录为下载的osgeo-4w-qgis-dev的相关库存储路径,需要根据自己存储路径个性化设置。如图1.4.5所示。

图1.4.5 对应附件包含目录配置

  1. D:\QGIS\osgeo4w-qgis-dev\QGIS-ltr\include
  2. D:\ QGIS\osgeo4w-qgis-dev\3rdParty\include
  3. D:\ QGIS\osgeo4w-qgis-dev\Qt5\include
  4. D:\ QGIS\osgeo4w-qgis-dev\Qt5\include\QtCore
  5. D:\ QGIS\osgeo4w-qgis-dev\Qt5\include\QtWidgets
  6. D:\ QGIS\osgeo4w-qgis-dev\Qt5\include\QtXml
  7. D:\ QGIS\osgeo4w-qgis-dev\Qt5\include\QtGui

(2)设置附加库目录

在项目->链接器->常规中,添加“附加库目录”。如图1.4.6所示。

图1.4.6 附件库目录配置

  1. D:\QGIS\osgeo4w-qgis-dev\3rdParty\lib
  2. D:\QGIS\osgeo4w-qgis-dev\QT5\lib
  3. D:\QGIS\osgeo4w-qgis-dev\QGIS-ltr\lib

(3)设置附加依赖项

最后还需要进行附加依赖项的配置,依次在项目->链接器->输入中,添加“附加依赖性”。如图1.4.7所示。

图1.4.7 附加依赖项设置

  1. qgis_core.lib
  2. qgis_app.lib
  3. qgis_gui.lib
  4. Qt5Core.lib
  5. Qt5Gui.lib
  6. Qt5Widgets.lib

(4)其他相关设置

1.设置预处理器定义

在c/c++->预处理器->预处理器定义:“_USE_MATH_DEFINES”。如图1.4.8所示。

图1.4.8 预处理定义配置

2.设置C++语言标准

将C++语言标准设置为ISO C++17标准(/std:c++17)。如图1.4.9所示。

图1.4.9 语言配置

完成上述操作后,VS中的相关配置便已完成,这里给出一个简单应用QGIS二次开发组件打开栅格数据的方法进行测试。即将main函数中的代码替换为如下所示代码:

#include <QApplication>#include <QmainWindow>#include <qgsmapcanvas.h>#include <qgsrasterlayer.h>#include <qgsmaptoolpan.h>//整数类型主函数(整数类型统计参数个数,字符类型指针数组指向字符串参数)int main(int argc, char** argv){//QApplication有且仅有一个应用程序类的对象 QApplication app(argc, argv);//继承于QWidget,QWidget是一个窗口基类,main_window是一个窗口类 QMainWindow main_window;//创建画布 QgsMapCanvas map_canvas;//添加本地影像路径QgsRasterLayer layer(R"(C:\Users\33439\Desktop\1\1.tif)");//这里需要应用自己的栅格文件路径//设置图层集合map_canvas.setLayers({ &layer });//设置图层范围map_canvas.setExtent(layer.extent());//刷新画布 map_canvas.refresh();QgsMapToolPan map_tool_pan(&map_canvas);map_canvas.setMapTool(&map_tool_pan);//设置画布居中显示main_window.setCentralWidget(&map_canvas);//显示窗口(默认是隐藏模式)main_window.show();//等待用户操作return app.exec();}

当配置成功时,会正确打开对应栅格图像,笔者这里打开的时武汉地区的栅格图像,成功打开时如图1.4.10所示。

图1.4.10 成功打开视图

1.5配置中常见的问题

1.可能存在的无法打开源文件“QDomDocument”,如图1.5.1所示。

图1.5.1 无法打开源文件“QDomDocument”

解决方法:这是由于Qt Modules未包含相应的QXML扩展。右击工程,选择【QT】,然后接着点击【Qt Project Settings】,在对应的【Qt Modules】中勾选上【QXML】并选择应用即可,如图1.5.2所示。

图1.5.2 添加QXML扩展

2.由于找不到对应的dll而出现错误,如图1.5.3所示。

图1.5.3找不到对应的dll

解决方法:将相关dll文件放在项目.exe目录下

将图1.5.4对应的下列bin中所有的文件全部复制到此目录下:

图1.5.4 对应文件夹

  1. D:\QGIS\osgeo4w-qgis-dev\Qt5\bin
  2. D:\ QGIS\osgeo4w-qgis-dev\3rdParty\bin
  3. D:\ QGIS\osgeo4w-qgis-dev\qgis-ltr\bin

3.若出现如图1.5.5所示错误

图1.5.5 对应QT错误

解决方法:则将下列文件夹复制到.exe目录下(一定要复制到含有工程的exe目录下)。

D:\osgeo4w-qgis-dev\QT5\plugins\platforms。如图1.5.6所示。

图1.5.6 拖到对应框栏

4.若出现如图1.5.7所示错误。

图1.5.7 对应打开错误

解决方法:在项目->属性->配置属性->VC++目录->库目录里进行添加lib文件目录。如图1.5.8所示。

图1.5.8 对应lib调整

这篇关于VS配置QGIS二次开发(VS2019+QT5+QGIS3.14)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137511

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java