# costpath_plugin **Repository Path**: Morgenrot/costpath_plugin ## Basic Information - **Project Name**: costpath_plugin - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-27 - **Last Updated**: 2022-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # costpath_plugin ## 配置 #### 安装教程 仓库位置: 1. 打开QGIS,工具栏——设置——用户配置——打开活动配置目录。 在这个/profiles/default文件夹下,打开python/plugins文件夹 2. 在当前目录:git clone https://gitee.com/Morgenrot/costpath_plugin 在QGIS中使用插件: 1. 关闭QGIS,重启QGIS。 2. 工具栏,插件——管理并安装插件,已安装中,勾选miniCostPath #### interpreter配置 Add Python Interpreter中,选择Virtualenv Environment中的Existing environment,Interpreter选择QGIS 3.16\bin下的python-qgis-ltr.bat文件,这个批处理文件把QGIS的Python环境都配置好了,只要把它设置为解释器,就不需要再配置别的环境变量了。 ## 与QGIS交互 ### iface 目前还没有用到 用Plugin Builder生成插件模板,插件初始化时会传入一个iface示例(QgsInterface类)。 这个实例表示QGIS系统的用户界面,它允许以编程方式访问地图画布、菜单栏和QGIS应用程序的其他部分。例如: - 获取当前活动的图层:iface.activeLayer() ### QgsProject QgsProject.instance()代表了当前的QGIS项目。用法: - 获取当前打开的图层:QgsProject.instance().mapLayers().values() (在本项目中,用于选择成本栅格、起点终点) - 向项目添加图层:QgsProject.instance().addMapLayer() (在本项目中,用于将生成的路径添加到项目) ## 调试 ### QGIS的console 在QGIS的console里可以单步运行代码、运行脚本,可以简单地查看一些类的属性、函数的效果。 (放一张console运行的截图,可以使用iface.activeLayer()这个代码) ### 利用pycharm professional远程调试插件 原理: - 服务端: 在远程调试的模式下,PyCharm扮演服务端(Server)的角色。 进行远程调试时,需要先在PyCharm中设定端口并启动Debug模式,PyCharm会对设定的端口开始监听,等待客户端的连接请求; - 客户端: 我们编写的QGIS插件扮演客户端(Client)的角色(在本项目中,与服务端在同一台计算机上)。远程计算机安装pydevd-pycharm后, 就可以在代码中调用pydevd.settrace方法,该方法会指定PyCharm所在机器的IP地址和监听的端口号,用于与Pycharm建立连接; 当QGIS插件运行到pydevd.settrace处时,客户端就会与服务端建立连接,这样就可以在PyCharm中对QGIS插件进行单步调试。 ## 参考资料 - QGIS Python API:https://qgis.org/pyqgis/3.16/ - 学习QGIS Python API(应用程序编程接口):https://blog.csdn.net/fgh1991/article/details/90273203 - PyQGIS cookbook 中文版:https://luolingchun.github.io/PyQGIS-Developer-Cookbook-cn - 利用PyCharm进行Python远程调试:https://www.cnblogs.com/zknublx/p/7654757.html - QGIS 插件开发Debug教程——使用Pycharm:https://blog.csdn.net/df1445/article/details/108960749