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

OSGeo4W简介

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

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;对于仅控制台应用程序,设置为false
 	QgsApplication 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/875696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【图像识别】摄像头捕捉运动到静止视频帧(免费源码分享)

【图像识别】摄像头捕捉运动到静止视频帧(免费源码分享) 1. 本文摘要 本文实现了一个OpenCV和PyQT5 结合的摄像头视频捕捉和运动检测线程&#xff0c;实现了一款界面软件用于功能演示。主要使用帧差法实现&#xff0c;摄像头捕捉运动到静止的图片&#xff0c;捕捉到的图片可用…

朗迪锋亮相2024年中国国际服务贸易交易会

9月12日至14日&#xff0c;2024中国国际服务贸易交易会&#xff08;以下简称“服贸会”&#xff09;在国家会议中心和首钢园区成功举办。本届服贸会由商务部和北京市人民政府共同主办&#xff0c;继续秉承“全球服务 互惠共享”的宗旨&#xff0c;与参展企业一同聚焦“共享智慧…

高性能编程:无锁队列----MsgQueue代码实践

目录 概述 代码结构 1. 头文件解析 (msgqueue.h) 2. 实现文件解析 (msgqueue.c) 核心功能解析 2.1 创建队列 (msgqueue_create) 2.2 放入消息 (msgqueue_put) 2.3 获取消息 (msgqueue_get) 2.4 交换队列 (__msgqueue_swap) 2.5 阻塞与非阻塞模式 2.6 销毁队列 (msgq…

解决mp框架无法更新null值的问题

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、解决方法 前言 在使用mp框架过程中可能会遇到需要将某个字段为null的情况 但是mp自带的方法例如update默认是不支持更新null值的 一、解决方法 主要是这两…

分析图形学示例报告

一、实验任务 二、主要功能模块 三、代码 //自定义坐标系模块 CDC* pDC GetDC();//获得设备上下文 CRect rect;//定义矩形 GetClientRect(&rect);//获得矩形客户去大小 pDC->SetMapMode(MM_ANISOTROPIC);//自定义坐标系 pDC->SetWindowExt(rect.Width()/4, rect.He…

windows server2012 配制nginx安装为服务的时候,直接跳要安装.net框架,用自动的安装,直接失败的解决。

1、上一个已成功在安装过程中的图&#xff1a; 2、之前安装过程中错误的图&#xff1a; 3、离线安装解决&#xff1a; 下载.net framework 3.5&#xff0c;然后解压后&#xff0c;选择指定备用源路径&#xff0c;然后选择.net安装包所在目录&#xff1a; 只要指定上面全路径就…

Kubernetes 常用指令2

kubernetes 常用命 令 1. 编写 yaml 文件 2. kubectl create 通过配置文件名或标准输入创建一个集群资源对象&#xff0c;支 持 json 和 yaml 格式的文件 语法&#xff1a; kubectl create -f 文件名 kubectl create deployment 资源名 --image镜像名 kubectl create deplo…

Halcon 深度学习 分类预处理

文章目录 read_dl_dataset_classification 产生一个深度学习数据集算子split_dl_dataset 将样本分为训练、验证和测试子集create_dl_preprocess_param 使用预处理参数创建字典preprocess_dl_dataset 预处理DLDataset中声明的整个数据集write_dict 写入字典文件find_dl_samples …

Java wrapperr打包springboot项目到linux和Windows

Java wrapper打包springboot项目到linux和Windows 1 Java wrapper 说明2 linux的安装步骤2.1 解压 创建目录2.2 复制文件2.3 配置文件2.4 启动 3 windows3.1 配置文件3.2 复制文件3.3 启动 1 Java wrapper 说明 前提&#xff1a; 一定要有Java环境&#xff08;我使用的是jdk1.8…

C和指针:指针

内存和地址 程序视角看内存是一个大的字节数组&#xff0c;每个字节包含8个位&#xff0c;可以存储无符号值0至255,或有符号值-128至127。 多个字节可以合成一个字&#xff0c;许多机器以字为单位存储整数&#xff0c;每个字一般由2个或4个字节组成。 由于它们包含了更多的位&…

油耳用什么掏耳朵比较好?可视挖耳勺推荐平价

掏耳朵是一个轻松又舒服的感觉&#xff0c;很多人就会用棉签和普通耳勺越掏越进&#xff0c;在盲掏的过程中容易弄伤耳膜。所以我们在掏耳时要选好工具。市面上的智能可视挖耳勺&#xff0c;顶端带有摄像头&#xff0c;可以通过清楚的观察到耳道中的情况。但现在市面上关于可视…

在Linux中从视频流截取图片帧(ffmpeg )

Linux依赖说明: 说明: 使用到的 依赖包 1. ffmpegsudo apt update sudo apt-get install ffmpeg2. imagemagick (选装) (检测图像边缘信息推断清晰度,如果是简单截取但个图像帧>用不到<)sudo apt-get install imagemagick备注: 指令及相关参数说明核心指令: (作用: 执…

VSCode好用的插件推荐

1. Chinese 将vscode翻译成简体中文 2. ESLint 自动检查规范 3. Prettier - Code formatter 可以自动调整代码的缩进、换行和空格&#xff0c;确保代码风格统一。通过配置&#xff0c;Prettier可以在保存文件时自动格式化代码 https://juejin.cn/post/74025724757198274…

从 Postgres 到 ClickHouse:数据建模指南

本文字数&#xff1a;7149&#xff1b;估计阅读时间&#xff1a;18 分钟 作者&#xff1a;Sai Srirampur 本文在公众号【ClickHouseInc】首发 上个月&#xff0c;我们收购了专注于 Postgres CDC 的 PeerDB。PeerDB 使得数据从 Postgres 复制到 ClickHouse 变得既快速又简单。Pe…

Docker日志管理之Filebeat+ELK日志管理

所需安装包及镜像 安装步骤 把所需镜像导入到Docker容器 打开/etc/sysctl.conf配置文件&#xff0c;添加参数 打开资源限制配置文件&#xff0c;添加参数 创建一个网络 在根目录下创建一个项目目录 创建Elasticsearch子目录 在项目目录下创建Elasticsearch子目录 将安装Elast…

微生物分类检测系统源码分享

微生物分类检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

突发!OpenAI发布最强模型o1:博士物理92.8分,IOI金牌水平

梦晨 衡宇 发自 凹非寺量子位 | 公众号 QbitAI 参考ChatGPT&#xff1a;点击使用 来了来了&#xff01;刚刚&#xff0c;OpenAI新模型无预警上新&#xff1a; o1系列&#xff0c;可以进行通用复杂推理&#xff0c;每次回答要花费更长时间思考。 在解决博士水平的物理问题时&a…

Notepad++插件:TextFX 去除重复行

目录 一、下载插件 TextFX Characters 二、去重实操 2.1 选中需要去重的文本 2.2 操作插件 2.3 结果展示 2.3.1 点击 Sort lines case sensitive (at column) 2.3.2 点击 Sort lines case insensitive (at column) 一、下载插件 TextFX Characters 点【插件】-【插件管理…

【OpenAPI】Spring3 集成 OpenAPI 生成接口文档

Spring3 集成 OpenAPI 生成接口文档 1. 依赖 Spring 版本&#xff1a;3.0.5 Java 版本&#xff1a;jdk21 OpenAPI 依赖&#xff1a; <!-- https://mvnrepository.com/artifact/org.springdoc/springdoc-openapi-starter-webmvc-ui --> <dependency><groupI…

如何通过 PhantomJS 模拟用户行为抓取动态网页内容

引言 随着网页技术的不断进步&#xff0c;JavaScript 动态加载内容已成为网站设计的新常态&#xff0c;这对传统的静态网页抓取方法提出了挑战。为了应对这一挑战&#xff0c;PhantomJS 作为一个无头浏览器&#xff0c;能够模拟用户行为并执行 JavaScript&#xff0c;成为了获…