QGis二次开发 —— 1、Windows10搭建Vs2017-QGis环境(附Vs2017环境效果)(附:Qt助手加入QGis接口说明文档)

embedded/2024/9/23 9:06:45/
OSGeo4W简介

     更高级的 QGIS 用户应该使用 OSGeo4W 包。此安装程序可以并行安装多个版本的 QGIS,并且还可以进行更高效的更新,因为每个新版本仅下载和安装更改的组件。
     OSGeo4W 存储库包含许多来自 OSGeo 项目的软件。包括 QGIS 和所有依赖项,以及 Python、GRASS、GDAL 等。安装程序可以从 Internet 安装或事先下载所有需要的软件包。下载的文件保存在本地目录中,以备将来安装,也可用于离线安装。

qgis.org/resources/installation-guide/#osgeo4w-installer" rel="nofollow">OSGeo4W官网下载安装

     1、在官网下载

在这里插入图片描述

     2、双击exe安装,具体如下图集

在这里插入图片描述

在这里插入图片描述

          下图使用镜像仓库 http://gwmodel.whu.edu.cn/mirrors/osgeo4w,使得下载速度提高。(注意,添加仓库后,需要选中该地址后点击下一页)

          严重注意: 添加上面的镜像仓库源并选择后,那么之后下载安装界面提供的版本可能不是最新的。如果需要下载安装最新的版本则重新打开这个下载软件并且不要加入上面的镜像仓库地址,然后选择第一个"https://download.osgeo.org"即可,这样在后面安装下载安装界面提供的版本则是最新版本库。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

     最终安装完毕后如下:
在这里插入图片描述

Vs2017加入"OSGeo4W安装的Qt"

     1、打开Vs2017 -> “Qt Vs Tools” -> “Qt Versions” ,添加新的Qt版本

在这里插入图片描述

     2、如下图,作者电脑上"OSGeo4W安装的Qt"版本为5.11.2。作者曾经安装过Qt5.12.4版本,但这次也是要将5.11.2加入进来,因为后续使用QGIS二次开发时需要用"OSGeo4W"为我们提供的Qt版本来开发。
          注意:作者只是建议这么干,在实际开发中作者发现不使用"OSGeo4W安装的Qt"版本而使用曾经安装的5.12.4也可以用,但需要根据程序运行提示可能需要将"OSGeo4W"提供的部分库加入进来。 加入5.11.2也并非完全无用,可以继续探索,非常期待留言分享。
在这里插入图片描述

Vs2017链接QGis

     1、打开Vs2017并创建Qt窗口工程

     2、将main.cpp代码改为如下

#include "QtWidgetsApplication1.h"
#include <QtWidgets/QApplication>#if 1
#include <qgsapplication.h>int main(int argc, char *argv[])
{// 参数三: 如果需要GUI应用程序,则设置为true;对于仅控制台应用程序,设置为falseQgsApplication a(argc, argv, true);QgsApplication::setPrefixPath("D:/Software/QGis-OSGeo4W/install/apps/qgis-ltr", true);		// 设置qgis路径QgsApplication::setPluginPath("D:/Software/QGis-OSGeo4W/install/apps/qgis-ltr/plugins");	// 设置插件路径QgsApplication::initQgis();																	// 初始化QGis//QApplication a(argc, argv);QtWidgetsApplication1 w;w.show();return a.exec();
}
#else
int main(int argc, char *argv[])
{QApplication a(argc, argv);QtWidgetsApplication1 w;w.show();return a.exec();
}
#endif


     3、Vs的Release项目加入QGis头文件

在这里插入图片描述

     4、Vs的Release项目加入QGis库路径及库文件
在这里插入图片描述

在这里插入图片描述

     5、加库打包

          ① 使用"D:\Software\QGis-OSGeo4W\install\apps\Qt5\bin\windeployqt.exe"对exe进行打包

          ② 将"D:\Software\QGis-OSGeo4W\install\apps\qgis-ltr\bin"下所有.dll拷贝到exe目录下

          ③ 将"D:\Software\QGis-OSGeo4W\install\bin"下所有.dll拷贝到exe目录下


     6、Vs运行效果、exe执行效果

在这里插入图片描述

Qt助手加入QGis接口说明文档

     1、在QGis官方下载C++接口说明文档

在这里插入图片描述


     2、演示助手加入QGis文档
在这里插入图片描述

关注

笔者 - jxd


http://www.ppmy.cn/embedded/111330.html

相关文章

uniapp对tabbar封装,简单好用

第一种&#xff0c;效果展示 上代码&#xff0c;新建一个公用组件&#xff0c;tabbar.vue <template><view class"tabbar"><view class"tabbar-item" click"tabbarbtn(0)"><image class"item-image" v-if"…

什么是 TDengine?

TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台&#xff0c;其核心模块是高性能、集群开源、云原生、极简的时序数据库。它能安全高效地将大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发&#xff0c;对业务运行状态进…

嵌入式软件--51单片机 DAY 3

一、独立按键 按键的作用相当于一个开关&#xff0c;按下时接通&#xff08;或断开&#xff09;&#xff0c;松开后断开&#xff08;或接通&#xff09;。 &#xff08;1&#xff09;需求 通过SW1、SW2、SW3、SW4四个独立按键分别控制LED1、LED2、LED3、LED4的亮灭&#xff0…

ETCD的备份和恢复

一、引言 ETCD是一个高度可用的键值存储系统&#xff0c;被广泛应用于Kubernetes等分布式系统中以存储关键配置数据和服务发现信息。由于ETCD的重要性&#xff0c;确保其数据的安全性和可靠性至关重要。本文将介绍ETCD备份与恢复的基础知识、常用方法及最佳实践。 二、概述 …

力扣9.7

115.不同的子序列 题目 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 数据范围 1 < s.length, t.length < 1000s 和 t 由英文字母组成 分析 令dp[i][j]为s的前i个字符构成的子序列中为t的前j…

后端开发刷题 | 兑换零钱(动态规划)

描述 给定数组arr&#xff0c;arr中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币可以使用任意张&#xff0c;再给定一个aim&#xff0c;代表要找的钱数&#xff0c;求组成aim的最少货币数。 如果无解&#xff0c;请返回-1. 数据范围&am…

PHP一键约课高效健身智能健身管理系统小程序源码

一键约课&#xff0c;高效健身 —— 智能健身管理系统让健康触手可及 &#x1f3cb;️‍♀️ 告别繁琐&#xff0c;一键开启健身之旅 你还在为每次去健身房前的繁琐预约流程而烦恼吗&#xff1f;现在有了“一键约课高效健身智能健身管理系统”&#xff0c;所有问题都迎刃而解…

HSmartWindowControl 滚轮缩放 交互式绘制ROI 可修改 存储

一直想达到这个效果,奈何智商简单;今天来做一下记录; 个人习惯 Winform 新建以后删除xxx.designer.cs再双击Form1.cs设计器;就会在该 文件下 自动生成InitializeComponent() 且可 由设计器生成的所有winform界面程序则会出现在InitializeComponent()里面; 这样的好处很多,所…