在前面的文章中,苏南大叔有写到:获得插件的位置是qgis插件开发的重要步骤。那么,获得插件位置的两种方式,都是什么呢?本文里,苏南大叔和大家进行具体的探讨。

苏南大叔:qgis插件开发:获得插件代码物理位置的两种方式 - qgis-plugin-location
qgis插件开发:获得插件代码物理位置的两种方式(图4-1)

本文测试环境:win10qgis@3.16.14-hannover。获得代码位置的方式,目前已知的有两种,您可以视情况使用。

方式一,通过系统菜单

一般来说,qgis插件的位置是用户profile下的python/plugins/目录。所以,可以通过菜单点击获得插件的默认位置。如下图所示:

苏南大叔:qgis插件开发:获得插件代码物理位置的两种方式 - qgis-plugin-location-2
qgis插件开发:获得插件代码物理位置的两种方式(图4-2)

方式二,通过代码方式

打开qgisconsole,然后执行代码。代码如下:

import inspect
a=inspect.getfile(list(qgis.utils.plugins.values())[0].__class__)
c=os.path.dirname(os.path.dirname(a))
print(c)

苏南大叔:qgis插件开发:获得插件代码物理位置的两种方式 - qgis-plugin-location-3
qgis插件开发:获得插件代码物理位置的两种方式(图4-3)

原理上就是:首先,获得系统中已经安装好的用户插件列表。然后,通过inspect获得插件主类所在的文件。最后,分析路径。

苏南大叔:qgis插件开发:获得插件代码物理位置的两种方式 - qgis-plugin-location-4
qgis插件开发:获得插件代码物理位置的两种方式(图4-4)

相关链接

结束语

仁者见仁智者见智,不同的情况使用不同的方式。更多qgis插件教程,请参考苏南大叔的博客文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。