如何在不触发事件的情况下禁用QCheckBox?

时间:2015-06-04 22:23:52

标签: python pyqt qcheckbox

我想知道无论如何在pyqt" WITHOUT"中的复选框(QCheckBox)上禁用(setCheckState)。触发事件?因此,它只是一个显示更改,复选框现在未选中,但不会触发我连接的方法。谢谢你的帮助。

如果可能的话,会喜欢一个基本的例子。

2 个答案:

答案 0 :(得分:1)

您可以在禁用QCheckBox之前简单地阻止信号,并且 之后重新启用它们。假设chk是您的QCheckBox 对象就是:

chk.blockSignals()
# then you change the checkbox as you want
chk.unblockSignals()

答案 1 :(得分:1)

@mguijarr的回答说明了所有内容,但显然他们对功能做了些改动。

在QT 5.14.0中,它是:

chk.blockSignals(True)
chk.blockSignals(False)
# same syntax for c++ and py at this place

docs for python

docs for c++

(也许这最好是一条评论,但我需要更多代表才能发表评论)