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

问题描述 投票:0回答:2

我想知道是否有办法在 pyqt“WITHOUT”触发事件的复选框(QCheckBox)上禁用(setCheckState)?因此,这只是显示更改,复选框现在未选中,但没有触发我连接到的方法。感谢您的帮助。

如果可能的话,希望有一个基本的例子。

python pyqt qcheckbox
2个回答
4
投票

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

chk
是你的 QCheckBox 对象只是做:

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

3
投票

@mguijarr 的答案说明了一切,但显然他们稍微改变了功能。

在 QT 5.14.0 中是:

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

python 文档

c++ 文档

(也许这最好是评论,但我需要更多的评论代表)

© www.soinside.com 2019 - 2024. All rights reserved.