【发布时间】:2011-11-11 12:06:52
【问题描述】:
我正在填充 QTreeWidget 的一个分支,然后将分支父级上的扩展属性设置为 true。 itemExpanded 信号作为响应触发,这不是我想要的。有没有一种临时方法可以在一段代码期间抑制或吸收信号?
【问题讨论】:
标签: python pyqt qtreewidget
我正在填充 QTreeWidget 的一个分支,然后将分支父级上的扩展属性设置为 true。 itemExpanded 信号作为响应触发,这不是我想要的。有没有一种临时方法可以在一段代码期间抑制或吸收信号?
【问题讨论】:
标签: python pyqt qtreewidget
您可以使用 QObject::blockSignals 设置信号阻塞。
http://doc.qt.nokia.com/stable/qobject.html#blockSignals
bool QObject::blockSignals ( 布尔块 )
如果 block 为真,则该对象发出的信号将被阻塞(即,发出信号不会调用任何与之连接的东西)。如果 block 为 false,则不会发生这样的阻塞。 返回值是 signalsBlocked() 的前一个值。 请注意,即使该对象的信号已被阻止,也会发出 destroy() 信号。 另请参见 signalsBlocked()。
【讨论】:
with 语句来阻止和取消阻止一组语句的信号。