QGIS插件支持C++和Python两种语言。本次讲解Python插件开发环境的搭建。
如需了解如何搭建C++开发环境,请访问这篇文章。
QGIS官方提供了四种开发环境,分别是PyScripter、Eclipse+PyDev、PyCharm、PDB。大家根据自己熟悉的IDE,选择一种方式。除了Eclipse的方式,其他三种方式我都已验证过。
官方提示:如果使用PyCharm,则需要购买PyCharm专业版。PyCharm的社区版本是无法远端调试的。
本文采用的是社区版PyCharm+First Aid方式搭建开发环境。避免购买PyCharm专业版。
环境准备
PyCharm社区版:PyCharm官网的默认下载中,已无法找到社区版本了。
暂时从这里还可以下载(如果连接无法访问,请留言,可单独发网盘)。
https://www.jetbrains.com.cn/edu-products/download/download-thanks-pce.html
QGIS插件:
First Aid: 调试QGIS插件。

Plugin Reloader: 重新装载QGIS插件。

Plugin Builder 3: 构建QGIS插件代码框架。

创建工程
找到QGIS菜单插件->Plugin Builder,启动Plugin Builder对话框。输入插件的名称、网址、描述等等参数。

启动工程
QGIS中默认带了一个Python环境,需要将此Python环境设置到PyCharm中。
1.打开QGIS所在文件夹中的bin目录,找到python-qgis-ltr.bat(如果你安装的QGIS不是LTR版本,则名称略有不同,大致为python-qgis-*.bat),将其复制一份,重命名为python-qgis-ide.bat。打开python-qgis-ide.bat,将最后一行修改为start {PyCharmPath}
,将{PyCharmPath}替换为你的PyCharm运行程序目录。
python-qgis-ide.bat示例如下:
@echo off
call "%~dp0\o4w_env.bat"
@echo off
path %OSGEO4W_ROOT%\apps\qgis-ltr\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis-ltr
set GDAL_FILENAME_IS_UTF8=YES
rem Set VSI cache to be used as buffer, see #6448
set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis-ltr\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis-ltr\python;%PYTHONPATH%
start D:\PyCharm\bin\pycharm64.exe
python-qgis-ide.bat修改完毕后,双击python-qgis-ide.bat后,启动PyCharm。此时,QGIS中的Python环境,已经默认设置到了PyCharm中。
最后,使用PyCharm构建基于QGIS Python环境的Virtualenv即可。
至此,QGIS插件的Python开发环境搭建完毕。
部署&调试
部署:将代码目录,拷贝到QGIS插件目录中即可。默认的插件目录如下:
C:\Users\{用户}\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins
如果不想使用默认的插件目录,给QGIS添加变量QGIS_PLUGINPATH,设置为特定目录。如下图所示。

调试:随时打开First Aid调试窗,放入断点,即可调试。
有QGIS插件开发问题,欢迎留言或联系我们。转载须注明出处。