首页 > 其他分享 >QGIS二次开发环境搭建

QGIS二次开发环境搭建

时间:2023-01-14 12:47:40浏览次数:61  
标签:map canvas QGIS apps OSGeo4W qgis 二次开发 include 搭建

Windows开发环境搭建

Visual Studio Community 2022

QGIS 官网下载OSGeo4W

https://www.qgis.org/en/site/forusers/download.html

安装OSGeo4W:

配置国内源,可加速下载过程:

http://gwmodel.whu.edu.cn

安装选项,过滤qgis,最新的qgis-ltr可选的只有3.16,没有3.22,可能还没出。

过滤qt

本机设置安装路径为C:\OSGeo4W

新建Qt Widgets工程,只能选Release版本,不支持Debug,勾选以下模块

IDE QT环境配置,使用OSGeo4W自带的Qt5,不支持Qt6:

C++语言标准选择C++17

C++附加包含目录配置,新增

C:\OSGeo4W\apps\qgis-ltr\include

C:\OSGeo4W\apps\Qt5\include

C++预处理器,新增

_USE_MATH_DEFINES

链接器,附加库目录新增:

C:\OSGeo4W\apps\Qt5\lib

C:\OSGeo4W\apps\qgis-ltr\lib

链接器输入,附加依赖项,新增:

qgis_core.lib

qgis_app.lib

qgis_gui.lib

Qt5Core.lib

Qt5Gui.lib

Qt5Widgets.lib

main.cpp代码:

#include "QtMeteor.h"

#include <QtWidgets/QApplication>

#include <QtWidgets/QApplication>

#include <qgsapplication.h>

#include <qgsmapcanvas.h>

#include <qgsrasterlayer.h>

#include <qgsmaptoolpan.h>

#include <QDebug>

int main(int argc, char* argv[])

{

QApplication a(argc, argv);

QMainWindow main_window;

QgsMapCanvas map_canvas;

qDebug() << QApplication::applicationDirPath() + "/" + R"(China.tif)";

QgsRasterLayer layer(QApplication::applicationDirPath() + "/" + R"(China.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 a.exec();

}

本机代码生成目录为:C:\Users\xuduo\source\repos\QtMeteor\x64\Release

运行上面代码,还需要把依赖的dll拷贝到exe程序所在的目录,所需dll从C:\OSGeo4W\apps\Qt5\bin和C:\OSGeo4W\apps\qgis-ltr\bin以及C:\OSGeo4W\bin,这三个目录中获取,支持用windeployqt部署打包。

依赖清单如下,platforms文件夹从C:\OSGeo4W\apps\Qt5\plugins\platforms复制过来,其他几个文件夹为windeployqt打包生成,调试时可以没有,其他dll依赖为手动复制过来:

运行效果:

标签:map,canvas,QGIS,apps,OSGeo4W,qgis,二次开发,include,搭建
From: https://www.cnblogs.com/moonkin/p/17051560.html

相关文章

  • docker swarm集群搭建
    DockerSwarm集群管理1.创建Swarm集群在已经安装好Docker的主机上执行如下命令:$dockerswarminit--advertise-addr172.25.114.4Swarminitialized:currentnod......
  • docker swarm 搭建kafka集群
    1.docker-compose文件准备docker-compose-kafka-cluster.ymlversion:'3.3'services:zoo1:image:confluentinc/cp-zookeeper:7.0.1hostname:zoo1p......
  • redis搭建集群
    1.准备三台机器搭建redis集群机器ip分别为:10.0.5.6110.0.5.10210.0.5.742.在各个机器上安装redisyuminstall-yhttp://rpms.famillecollet.com/enterp......
  • electron-webpack-react-antd环境搭建
    详细实现方式以及代码下载请前往 https://www.passerma.com/article/81一、项目初始化mkdirelectron-webpack-react-antd&&cdelectron-webpack-react-antdyarnini......
  • vue.js客服系统实时聊天项目开发(一)路由与子路由-全局变量-elementui搭建基本框架
    Vue应用程序设置一些基本配置,包括使用依赖项,设置路由,挂载组件等。这样就可以使用Vue框架开发应用程序了先来看看我的客服系统项目的package.json{"name":"VueLiveCh......
  • 直播服务器搭建
    Nginx安装流媒体 yuminstallgcc-c++ -yyuminstall-ypcrepcre-develyuminstall-yzlibzlib-develyuminstall-yopensslopenssl-devel wgethttps://......
  • App自动化测试|Appium+Python自动化测试环境搭建(Windows)
    windows下搭建python+appium环境搭建过程步骤如下:安装jdk并配置好环境变量(jdk版本1.8以上)安装android-sdk并配置好环境变量;具体步骤见:https://ceshiren.com/t/topic/4001安......
  • (一)phoneGap之环境搭建教程及其example分析
    一、环境搭建   与普通的开发android应用一样,phoneGap也同于原生android应用一样,环境相同,只是有部分不同,下面就我做理解,进行说明,不足之处还请大家及时提醒,谢谢!   ......
  • SpringMVC轻松学习-环境搭建(二)
    基于spring2.5的采用XML配置的springMVC项目注:本项目全部基于XML配置。同时,集成了hibernate。采用的是:springMVC+hibernate+spring的开发架构。1.      建立web项......
  • WindowsGUI自动化测试框架搭建之需求整理、详细设计和框架设计
    ((一)-总体需求)1需求整理1.1实现目的基于CS架构,模拟用户(鼠标、键盘)操作,达到快速、重复执行测试用例;便于回归测试,快速覆盖主线用例或功能;线上或线下巡检测试,结合持续......