用途:帮助开发者在 QGIS 中创建插件、添加菜单项、工具栏按钮、停靠面板与自定义对话框界面,并规避插件生命周期违规与资源清理失败问题。
主要能力:提供插件文件结构(必需 init.py、metadata.txt、mainPlugin.py,可选 resources.qrc、form.ui、icon.png);说明插件生命周期(classFactory→initGui→unload);列出各平台安装路径(Windows 用户目录 ~/AppData/Roaming/QGIS/QGIS3/profiles/default/python/plugins,Linux ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins,系统 <qgis_prefix>/python/plugins,自定义 QGIS_PLUGINPATH);整理 iface 常用方法(addToolBarIcon、addPluginToMenu、addDockWidget、mainWindow、mapCanvas 等);提供插件类型选择决策树与六种常用模式(classFactory 入口、插件类骨架、metadata.txt 必填字段、QgsSettings 设置存储、Qt Designer 对话框集成、资源编译)。
必要用法:init.py 必须包含 classFactory(iface);initGui 创建并记录所有 GUI 元素为实例属性;unload 移除全部菜单、工具栏图标和停靠面板并断开所有信号;编译资源用 pyrcc5 -o resources.py resources.qrc。
限制与注意:勿在后台线程访问 iface、QgsProject.instance() 或 GUI 对象;勿在 QgsTask.run() 抛异常,返回 False 表示失败;勿将编译产物提交仓库;QAction 必须设置 objectName;设置键需加插件名前缀。发布需打包 ZIP 并提交 plugins.qgis.org,需 OSGeo ID 和工作人员审核,版本号须唯一。具体功能、收费和使用效果暂未提供。