2020-10-25
好久没有弄Qgis开发了。最近有一个项目需要后台定时生产专题图,要求能够叠加边界矢量,叠加经纬度网格,绘制图例,绘制文字标签等。想来想去,排除了python的那类科学家用的绘图工具matplot什么的,排除了gnuplot太不好用了,这类工具相对遥感和GIS来说出图能力不够专业。那么剩下就的就是PyQgis和原生Qgis二次开发了。我的C++相对更熟一些,况且python写的东西总觉得不像个业务化的程序,因此确定重新捡起C++ Qgis的二次开发。
考虑到需求不要求交互,因此想直接使用QTCreator进行开发,减少配置VS2019方面的工作。
1.下载OSGeo4W 32bit版本。
2.在线安装QGis的相关包,目前应该是3.10.10的运行包和开发包。
3.下载QT开发工具qt-opensource-windows-x86-5.14.2.exe并安装。
4.打开QTCreator (4.11.1)
![a847e4f5d43756596b87aaa25927008f.png](https://i-blog.csdnimg.cn/blog_migrate/821345b538e27d0953df6edf82bb640a.jpeg)
![a72f5ca4e6f8c8599e34427862378b96.png](https://i-blog.csdnimg.cn/blog_migrate/0a377323159709622d5ce33cbe511555.png)
![6243935e0d984dbcad551bf7c852ee88.png](https://i-blog.csdnimg.cn/blog_migrate/2a0a46f0ea00e648a13980757c40df20.png)
![b96a53771caede8e9cf7a2f46c69c1cd.png](https://i-blog.csdnimg.cn/blog_migrate/e08b54e5069ad34e23fdcfdce7627b85.png)
![42802cec2ca3a4d34bf14047df03d86d.png](https://i-blog.csdnimg.cn/blog_migrate/86afb8bec9973b063ac268d1dd18daa0.png)
5.选择项目配置(已经配好了msvc,之前如何配置的已经不记得了,应该问题不大。)
![2e35295652479e505342ce6d99b86bbf.png](https://i-blog.csdnimg.cn/blog_migrate/21fd8bca0c55c50a71d444f9cce7bdf4.jpeg)
![6d0d34e5b1e34bdeb75bc42b082cf021.png](https://i-blog.csdnimg.cn/blog_migrate/eb7363befd2bb944278e02e30bff94f5.jpeg)
6.使用Release模式编译
![fd17f6f394ca57380f9f80804f73c19e.png](https://i-blog.csdnimg.cn/blog_migrate/9c5060d2549e826478ff066c758daa9b.png)
7.使用自动生成的main.cpp编译运行一下程序
会生成D:codingbuild-testQgslayout-msvc-Releaserelease 这个目录
8.把Qt和Qgis相关的dll和目录都考到这个目录下面
拷贝必要的文件和内容后,效果如下面这个样子:
![2dad7da4f906c4c6d17147d9a2f0de93.png](https://i-blog.csdnimg.cn/blog_migrate/8c99535d5fc6d2119c499264c0572bc6.jpeg)
![dc0b076e90207d6fa23aaae9b917da15.png](https://i-blog.csdnimg.cn/blog_migrate/09e5561852a52e7fb3c3f6eae7873c4a.jpeg)