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

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于