qgis插件开发:如何理解图标按钮的几种状态代码?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
本篇文章描述qgis
插件所生成的图标的几种状态。当然,读完本文后,您可能和苏南大叔得出类似的结论。这几种状态似乎没有啥特别大的意义。
本文测试环境:win10
,qgis@3.16.14-hannover
。
添加一个按钮
直接上代码,具体的内容,可以参考下面的文章:
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)
苏南大叔把这个测试按钮添加到插件的公共toolbar
里面。
self.iface.addAction(self.theIcon)
按钮状态代码checkable
checkable
为true
的话,按钮可以保持被按下的状态,直到下一次被按下。
self.theIcon.setCheckable(True)
self.theIcon.setCheckable(False)
判断是否被按下:
self.theIcon.isChecked()
这里需要特殊说明一下,对于可以被按下的按钮,
isChecked()
是判断的下一个状态。比如:
- 当前是普通状态,在按下的事件里面,做判断的话,
isChecked()
为True
。- 当前是按下状态,在按下的事件里面,做判断的话,
isChecked()
为False
。
判断是否可以被按下:
self.theIcon.isCheckable()
按钮状态代码setChecked
setChecked
仅仅是用于设置相关值,就是配置按钮的默认的是否被选中的状态。
本代码生效的前提是:已经是setCheckable(True)
了,然后再执行setChecked()
才有意义。
self.theIcon.setChecked(True)
self.theIcon.setChecked(False)
所以这个最有意义的代码组合是:
self.theIcon.setCheckable(True)
self.theIcon.setChecked(True)
按钮状态代码enabled
Enabled
就是按钮是否可用,比较好理解,不做过多描述
self.theIcon.setEnabled(True)
self.theIcon.setEnabled(False)
状态判断:
self.theIcon.isEnabled()
相关链接
- https://newsn.net/say/qgis-plugin-btn-position.html
- https://newsn.net/say/qgis-plugin-action.html
- https://newsn.net/say/qgis-plugin.html
总结
本文非常简单,就是对按钮的几种状态代码进行描述。更多qgis
插件相关文章,点击下面的链接查看即可。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。