当前位置: 首页 > article >正文

qgis与qt开发基于vs环境搭建(傻瓜式教程)

嗯本人因为工作需要所以耗费一些事件摸索着如何搭建这个环境感觉网上的资料不多自己找起来也很麻烦因为是第一次本人踩了不少坑所以留下这个搭建教程希望能帮助一些人。一 正文进入qgis下载官网,Download · QGIS Web Site,跳过捐赠选项可以直接进入下载 这里选择的是installer 在线下载下载好之后右键以管理员身份打开在线安装器osgeo4w-setup.exe。需要我们自己选择安装文件所以选择高级选择安装路径这个路径要记录下来能够让你自己找得到如果不以管理员身份打开无法选择all users这个路径也是同样需要记录这里存放的主要是缓冲文件。这里讲一讲我遇到的问题因为需要请求的数据在国外所以之后步骤里在线安装器下载的十分缓慢而国内的镜像站还都没有资源部分大文件下载很慢的时候不是你多等一会他就会下载好而是很大几率崩溃哪怕是下载好他也会无法使用甚至报错。这里有两个解决办法一个是从官方文档里下载你所需要的大文件然后放在缓冲目录的指定目录下至于放在哪个目录你需要去你设置的缓冲文件夹里查找需要的对应压缩包目前下载的文件放在哪你就可以将大文件放在那里然后重新进行安装。上面这个解决办法很难办到后来要下载的大文件太多太杂部分还无法识别看个人情况。第二种解决方法就要简单很多我是在凌晨一点左右的时候进行下载这时间内国内使用数据流量的人数不多网络运营商分配的流量通道也更大所以下载国外数据也很快。个人认为第二种方法比较容易一点。这里的下载路径可以任选有的地方第二种速度很快有的地方第一种速度快。下面是需要安装的东西。点击skip就可以选中下载下面是选择完gdal之后我下载的当时因为下载速度太慢去官网下载的大文件压缩包要注意这里也有大问题。尽量选择在这个在线下载器里面安装qt并且版本只能是qt5目前qgis对qt6还不太适配作者当时花费半天时间搭建qt6与qgis但是无论怎么尝试都会报错我这里怀疑应该是接口搭配的不太对无法调用。如果你实在是想自己下载qt也尽量选择在线下载器里面的版本能够确保适配。这里就不一一展示下去了每个人需要的库文件不同我这个是进行基本开发时没什么问题能够运行tif格式文件接下来就是一直点一些同意协议之类的然后到下载这一步他会自动安装一些额外需要的依赖项之类的东西大部分缓冲文件都会放在这个release文件夹里面。安装结束开始vs环境搭建。vs环境搭建首先你要确保已安装Qt VS Tools插件扩展 → 管理扩展 → 搜索Qt安装点击继续但无需代码我这里是下载好了的配置环境变量。以下都需要查看你自己的路径在你的path环境路径下加上这些库文件主要是使得代码运行时候能够找到对应库使用头文件。注意你要查看你自己的文件安装在哪设置好环境变量记得重启。之后打开 Visual Studio 2022。确保已安装 Qt VS Tools 插件扩展 → 管理扩展 → 搜索Qt安装。点击菜单栏 “扩展” → “Qt VS Tools” → “Qt Versions”。点击 “Add” 按钮Version name输入Qt5-OSGeo4WPath浏览到D:\OSGeo4W\apps\Qt5\bin\qmake.exe点击 “OK” 保存。列表中应出现该版本左侧有绿色对勾表示默认。接下来我们就可以创建qt项目了下面这部分需要点击debug旁边的红色减号 目前qgis不支持debug 会报错首先确保自己能够正确运行如果没运行请检查环境变量以及vs拓展下载问题配置项目属性核心右键项目 →“属性”在左上角将“配置”设为“所有配置”“平台”设为“x64”。添加 Qt XML 模块进入“Qt Project Settings”在“Qt Modules”文本框中追加;xml使其变为core;gui;widgets;xml附加包含目录头文件路径进入“C/C” → “常规” → “附加包含目录”将以下一行内容完整复制进去D:\OSGeo4W\include;D:\OSGeo4W\apps\qgis-ltr-dev\include;D:\OSGeo4W\apps\Qt5\include;D:\OSGeo4W\apps\Qt5\include\QtCore;D:\OSGeo4W\apps\Qt5\include\QtGui;D:\OSGeo4W\apps\Qt5\include\QtWidgets;D:\OSGeo4W\apps\Qt5\include\QtXml这部分要参考你自己的路径附加库目录.lib 文件路径进入“链接器” → “常规” → “附加库目录”添加textD:\OSGeo4W\apps\qgis-ltr-dev\lib;D:\OSGeo4W\apps\Qt5\lib附加依赖项需要链接的库进入“链接器” → “输入” → “附加依赖项”添加以下一行如果已有其他内容用分号追加在后面qgis_core.lib;qgis_gui.lib;qgis_analysis.lib;Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;Qt5Xml.lib预处理器定义进入“C/C” → “预处理器” → “预处理器定义”添加在原本基础上_USE_MATH_DEFINES;NOMINMAX;_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNINGC 语言标准进入“C/C” → “语言” → “C语言标准”选择“ISO C17 标准 (/std:c17)”。所有环境搭建完成。#include QApplication#include QMainWindow#include QMessageBox#include qgsapplication.h#include qgsmapcanvas.h#include qgsrasterlayer.h#include qgsproject.h#include qgsmaptoolpan.h#include QDebugint main(int argc, char *argv[]){// 初始化 QGIS 应用QgsApplication app(argc, argv, true);QgsApplication::setPrefixPath(D:/OSGeo4W/apps/qgis-ltr, true);app.initQgis();// 创建主窗口QMainWindow window;window.setWindowTitle(QString::fromLocal8Bit(QGIS 加载 TIFF 测试));// 创建地图画布QgsMapCanvas *canvas new QgsMapCanvas();canvas-setCanvasColor(Qt::white);window.setCentralWidget(canvas);// 你的 TIFF 文件路径请根据实际情况修改QString tiffPath QString::fromLocal8Bit(D:/tiff_picture/SR_50M_alaska_nad.tif);// 创建栅格图层QgsRasterLayer *layer new QgsRasterLayer(tiffPath, QString::fromLocal8Bit(阿拉斯加影像), gdal);if (!layer-isValid()){QMessageBox::critical(nullptr,QString::fromLocal8Bit(错误),QString::fromLocal8Bit(无法加载 TIFF 文件\n%1).arg(tiffPath));qDebug() 图层加载失败;delete layer;return 1;}// 添加图层到项目和画布QgsProject::instance()-addMapLayer(layer);canvas-setLayers({layer});canvas-setExtent(layer-extent());canvas-refresh();// 添加平移工具QgsMapToolPan *panTool new QgsMapToolPan(canvas);canvas-setMapTool(panTool);// 显示窗口window.show();// 进入事件循环int ret app.exec();// 清理app.exitQgis();return ret;}这是我的测试代码VS打开Qt的ui界面几秒后闪退ui无法打开文件的解决办法VS打开Qt的ui界面几秒后闪退ui无法打开文件的解决办法_vs打开ui文件闪退-CSDN博客

相关文章:

qgis与qt开发基于vs环境搭建(傻瓜式教程)

嗯,本人因为工作需要所以耗费一些事件摸索着如何搭建这个环境,感觉网上的资料不多,自己找起来也很麻烦,因为是第一次本人踩了不少坑,所以留下这个搭建教程,希望能帮助一些人。 一 正文 进入qgis下载官网…...

嵌入式C语言宏定义工程实践与安全规范

1. 嵌入式C语言宏定义的工程实践方法论在嵌入式系统开发中,C语言宏定义远非简单的文本替换工具。它是一把双刃剑:用得精妙,可显著提升代码健壮性、可移植性与可维护性;用得随意,则极易引入难以调试的隐蔽缺陷。本文基于…...

Neeshck-Z-lmage_LYX_v2落地实操:LoRA权重训练数据溯源与版权管理

Neeshck-Z-lmage_LYX_v2落地实操:LoRA权重训练数据溯源与版权管理 1. 项目简介与核心价值 今天我们来聊聊一个非常实用的本地AI绘画工具——Neeshck-Z-lmage_LYX_v2。如果你对AI绘画感兴趣,但又觉得在线服务限制多、隐私没保障,或者想更自由…...

Python学生作业

Python代码1,。勾股定理import math #import语句,用于导入math语句 a float(input("请输入直角三角形的直角边1)>0);")) #赋值语句,输入直角三角形的边长1,并转换为float数…...

出一次规划垂直泊车路径规划matlab代码。 回旋曲线对泊车路径进行优化,图片仅供参考

出一次规划垂直泊车路径规划matlab代码。 回旋曲线对泊车路径进行优化,图片仅供参考停车是门技术活,尤其是垂直泊车时方向盘该打几度、什么时候回正,老司机都得掂量掂量。今天咱们用Matlab整点有意思的——用回旋曲线生成丝滑的泊车路径&…...

OpenClaw学术助手:ollama-QwQ-32B自动整理参考文献

OpenClaw学术助手:ollama-QwQ-32B自动整理参考文献 1. 为什么需要自动化文献管理 作为经常需要阅读大量论文的研究者,我长期被文献管理问题困扰。每次写论文时,最头疼的不是内容创作,而是整理几十篇参考文献的元数据、摘要和引用…...

压缩空气储能系统及其释能阶段模型研究及仿真程序编写——附相关文档文献

压缩空气储能和释能阶段模型,附相关文档文献。 建立了压缩空气储能系统中的压缩机、换热器、储气罐、透平、热水罐等设备的数学模型、 并在 Simulink仿真平台上、 按模块化建模方式完成了系统相关程序编写和仿真模型建立、 包含储能和释能两个阶段的模型。压缩空气储…...

Qwen3模型CSDN技术博客助手:从思路到排版的全流程辅助

Qwen3模型CSDN技术博客助手:从思路到排版的全流程辅助 写技术博客,尤其是那种需要配图、贴代码、讲原理的深度文章,对很多开发者来说是个不小的挑战。我见过不少朋友,技术实力很强,但一坐到电脑前准备写文章&#xff0…...

day 57 图论part9

文章目录dijkstra(堆优化版)精讲 47. 参加科学大会(第六期模拟笔试)Bellman_ford 算法精讲 94. 城市间货物运输 Idijkstra(堆优化版)精讲 47. 参加科学大会(第六期模拟笔试) 加入小…...

SEO_避开这些常见误区,让你的SEO效果事半功倍

SEO误区一:忽视关键词优化在SEO优化过程中,忽视关键词优化是一个常见的误区。许多网站主认为,只要内容好,自然就能被搜索引擎收录和排名。关键词优化是SEO的核心。关键词不仅决定了你的网站在搜索结果中的位置,还直接影…...

3种场景部署开源测速平台:从个人到企业的全方案指南

3种场景部署开源测速平台:从个人到企业的全方案指南 【免费下载链接】speedtest Self-hosted Speed Test for HTML5 and more. Easy setup, examples, configurable, mobile friendly. Supports PHP, Node, Multiple servers, and more 项目地址: https://gitcode…...

从零开始:用汇编语言打造你的第一个图形界面操作系统(附完整代码)

从零构建图形界面操作系统:汇编语言的魔法之旅 当屏幕第一次亮起蓝色背景和黄色矩形时,那种成就感就像在数字荒漠中建造出了第一座城堡。这不是用现成的框架堆砌的产物,而是从最底层的机器指令开始,用汇编语言一点一滴构建的图形世…...

收藏!小白程序员必看:用MCP解锁AI Agent自动化操作新时代

文章介绍了AI Agent的发展现状与MCP(模型上下文协议)技术,阐述MCP如何使AI大模型能与外部工具交互,自动化完成复杂任务。通过对比传统API调用方式,MCP在灵活性、效率上优势明显。文章还提供了MCP的安装和使用教程&…...

Qt纯实现图片处理工具:支持多形态绘制、自适应缩放与背景图功能

Qt实现的包含图片显示功能、自适应缩放、背景图片、画roi工具。 不依赖其他库纯Qt实现。 在图片上可以画矩形、矩形旋转、圆形、同心圆、多边形、直线、卡尺、锚点、清空。 源码: 使用Qt5.6.1_MinGW、Qt5.15.1_MinGW、Qt5.15.1_msvc编译通过,其他版本请自…...

Can协议(一)

CAN设备(如CAN盒)上常见的 ‌PWR(Power)‌、‌ERR(Error)‌ 和 ‌CAN‌ 三个指示灯,其含义如下: 1.PWR(电源指示灯)‌ PWR是电源指示灯,表示设备是…...

SSD1308 OLED驱动库:I²C接口128×64单色屏嵌入式实战指南

1. SSD1308_128x64_I2C 驱动库深度解析:面向嵌入式工程师的OLED显示系统构建指南 SSD1308_128x64_I2C 是一款专为嵌入式平台设计的轻量级、高可靠性 OLED 显示驱动库,面向 SSD1308 控制器的 12864 像素单色 OLED 屏模组,采用标准 IC&#xf…...

BMP280非阻塞驱动库:嵌入式气压温度传感器实时采集方案

1. BMP280_DEV库深度解析:面向嵌入式工程师的非阻塞式气压/温度传感器驱动设计与实践1.1 库定位与核心价值主张BMP280_DEV是一个专为嵌入式系统设计的、Arduino兼容的非阻塞式BMP280传感器驱动库。其核心价值不在于简单封装IC/SPI通信,而在于提供一套可预…...

LangFlow助力内容创作:快速搭建自媒体文案生成工作流

LangFlow助力内容创作:快速搭建自媒体文案生成工作流 1. 为什么选择LangFlow进行内容创作 在当今内容爆炸的时代,自媒体创作者面临巨大的创作压力。每天需要产出大量高质量内容,同时还要保持创意和独特性。传统的人工创作方式不仅效率低下&…...

SEO_网站SEO优化全流程步骤详解与实战

SEO: 网站SEO优化全流程步骤详解与实战在当今数字化时代,网站SEO优化已经成为提升网站流量和品牌知名度的关键。无论你是一个新手,还是有一定经验的网站管理者,了解SEO全流程步骤是提升网站排名的基础。本文将详细介绍网站SEO优化的全流程步骤…...

SEO_详解SEO核心关键词研究与布局方法(86 )

SEO核心关键词研究的重要性在当今的互联网时代,搜索引擎优化(SEO)已经成为了网站提升流量和品牌知名度的重要手段之一。其中,核心关键词研究与布局是SEO的核心环节。无论你是一位新手还是资深的SEO专家,理解和掌握SEO核…...

[STM32] - 深入解析STM32CubeMX配置FatFs的SD卡驱动层:从初始化时序到错误码03的根因追踪

1. STM32CubeMX与FatFs基础配置实战 第一次用STM32CubeMX配置FatFs时,我像大多数开发者一样,以为按照默认配置勾选几个选项就能轻松搞定SD卡读写。结果在f_mount()阶段就遭遇了经典的FR_NOT_READY(错误码03),这个看似简…...

别再死磕从头训练了!用YOLO预训练模型,5分钟搞定你的自定义数据集

5分钟实战:用YOLO预训练模型高效攻克小数据集目标检测 当我在第一次尝试用YOLO训练自己的安全帽检测模型时,面对仅有300张标注图片的数据集,训练结果惨不忍睹——模型要么完全无法识别目标,要么把工地上的所有黄色物体都误判为安全…...

GLM-OCR入门教程:Python环境安装与第一个识别程序

GLM-OCR入门教程:Python环境安装与第一个识别程序 你是不是也对“让电脑看懂图片里的字”这件事感到好奇?网上那些高大上的技术文章,动不动就是一堆术语,看得人云里雾里。今天,咱们就换个方式,不讲复杂的原…...

3层架构解析:构建企业级HTML转Word文档转换系统的技术实践

3层架构解析:构建企业级HTML转Word文档转换系统的技术实践 【免费下载链接】html-to-docx HTML to DOCX converter 项目地址: https://gitcode.com/gh_mirrors/ht/html-to-docx 在数字化转型的浪潮中,文档格式转换已成为企业级应用中的核心需求之…...

手把手教你用MATLAB实现一阶RC低通滤波器(附完整代码与避坑指南)

MATLAB实战:一阶RC低通滤波器设计与工程避坑指南 1. 从理论到实践:RC低通滤波器的核心原理 在嵌入式系统和信号处理领域,RC低通滤波器是最基础却至关重要的电路单元。想象一下这样的场景:您从传感器采集的温度数据总是夹杂着高频干…...

SEO_详解SEO核心关键词研究与布局策略

SEO核心关键词研究的重要性在当今的数字营销中,搜索引擎优化(SEO)是企业获取流量和提升品牌知名度的重要途径之一。其中,SEO核心关键词研究与布局策略是整个SEO工作的基石。本文将详解SEO核心关键词研究与布局策略,帮助…...

P1023 税收与补贴问题【洛谷算法习题】

P1023 税收与补贴问题 网页链接 P1023 税收与补贴问题 题目背景 每样商品的价格越低,其销量就会相应增大。现已知某种商品的成本及其在若干价位上的销量(产品不会低于成本销售),并假设相邻价位间销量的变化是线性的且在价格高…...

电气间隙与爬电距离:PCB安规设计的物理本质与开槽实践

1. 电气安全基础:电气间隙与爬电距离的本质辨析在电子系统尤其是涉及市电接入、高压隔离或安全隔离等级要求的硬件设计中,电气间隙(Clearance)与爬电距离(Creepage)是两个不可混淆、但又紧密关联的核心安规…...

从选题到答辩:手把手教你用STM32和传感器搞定一个能落地的物联网毕设(避坑指南+代码框架)

从零到落地的STM32物联网毕设实战指南:避坑技巧与代码框架全解析 作为一名曾经被毕业设计折磨得焦头烂额的过来人,我完全理解你现在的心情——手头有个STM32开发板,学过一些传感器知识,但面对"完成一个完整物联网项目"的…...

攻克任务栏定制难题:7+ Taskbar Tweaker的7个实战故障排除指南

攻克任务栏定制难题:7 Taskbar Tweaker的7个实战故障排除指南 【免费下载链接】7-Taskbar-Tweaker Windows Taskbar Customization Tool 项目地址: https://gitcode.com/gh_mirrors/7t/7-Taskbar-Tweaker 副标题:零代码解决常见问题,高…...