gpt4 book ai didi

python - 如何断开函数与 QAction 的连接?

转载 作者:行者123 更新时间:2023-11-30 22:41:12 31 4
gpt4 key购买 nike

我正在开发GIS软件QGIS的插件。我有一个QAction图标,选中后,只要切换其可见性,就会将组中的图层连接到函数。然后,当未选中它时,它应该断开这些功能,但我收到一个错误:

Traceback (most recent call last):
File "C:/Users/Me/.qgis2/python/plugins\Example\Example.py", line 248, in run
layers.visibilityChanged.disconnect(print_one)
TypeError: 'function' object is not connected
<小时/>

这是示例代码:

def run(self, checked):
root = QgsProject.instance().layerTreeRoot()
group = root.findGroup('Group')

def print_one():
print 'one'

if checked == True:
for layers in group.children():
layers.visibilityChanged.connect(print_one)
else:
for layers in group.children():
layers.visibilityChanged.disconnect(print_one)
<小时/>

为什么信号没有断开?

我可以只使用layers.visibilityChanged.disconnect(),但这会断开所有信号,所以不符合我的兴趣。

最佳答案

根据我在 PyQt 手册中的理解,你应该尝试这种方式:

layers.disconnect(print_one)

但我不确定,遗憾的是我没有时间尝试......

关于python - 如何断开函数与 QAction 的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668057/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com