qgis插件开发:如何控制插件注册图标按钮的位置?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
上一篇文章中,苏南大叔向大家介绍了有关qgis
的插件如何注册和注销按钮的。本篇文章中,苏南大叔想和大家聊聊有关上述按钮的位置问题。
本文测试环境:qgis@3.16.14-hannover
,win10
。本文项目代码基于qgis plugin builder
创建。详见如下链接:
目前,苏南大叔的代码涉及的qgis
插件注册按钮位置,一共有三个位置。
初始化按钮
本文假设你已经初始化了一个按钮,具体的代码说明,请参见下面这篇文章。
def initGui():
# ...
icon = QIcon(os.path.dirname(__file__) + "/images/icon.svg")
self.theIcon = QAction(icon, "按钮提示文字", self.iface.mainWindow())
self.theIcon.setObjectName('testIcon')
self.theIcon.setStatusTip("底部状态栏文字提示信息")
self.theIcon.triggered.connect(self.iconAction)
# ...
工具栏中公共位置
增加按钮:
def initGui():
# ...
self.iface.addToolBarIcon(self.theIcon)
# ...
删除按钮:
def unload():
# ...
self.iface.removeToolBarIcon(self.theIcon)
# ...
工具栏中独立位置
增加按钮:先初始化一个toolbar
,然后再把icon
添加到toolbar
里面。一般来说,放在__init__()
函数里面。
def __init__:
# ...
self.toolbar = self.iface.addToolBar('测试自定义工具栏')
self.toolbar.setObjectName('MyToolbar')
# ...
def initGui():
# ...
self.toolbar.addAction(self.theIcon)
# ...
删除按钮:
def unload():
# ...
self.iface.removeToolBarIcon(self.theIcon)
# ...
注意:这里删除按钮,仍然是使用self.iface
删除的,而不是self.toolbar
。
菜单栏公共位置
def initGui():
# ...
self.iface.addPluginToMenu("父级菜单文字", self.theIcon)
# ...
删除按钮:
def unload():
# ...
self.iface.removePluginMenu('测试菜单', self.theIcon)
# ...
特殊情况
如果没有找到toolbar
的按钮的话,可能是这个toolbar
被整体隐藏了,右键就可以找出来。见下图:
相关链接
- https://newsn.net/say/qgis-plugin.html
- https://newsn.net/say/qgis-plugin-action.html
- https://newsn.net/say/pycharm-python-qgis.html
总结
在qgis
界面上,插件可以控制的按钮位置还很多。但是,目前苏南大叔就碰到这几个,其它情况待未来完善补充。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。