问题描述
我正在填充 QTreeWidget 的一个分支,然后将分支的父级上的扩展属性设置为 true.itemExpanded 信号作为响应触发,这不是我想要的.有没有临时的方法来抑制或吸收一段代码中的信号?
I'm populating a branch of a QTreeWidget and then setting the expanded attribute on the parent of the branch to true. The itemExpanded signal fires in response, which is not what I want. Is there a temporary way to suppress or absorb signals during a segment of code?
推荐答案
您可以使用 QObject::blockSignals 设置信号阻塞.
http://doc.qt.nokia.com/stable/qobject.html#blockSignals
You can set blocking of signals using QObject::blockSignals.
http://doc.qt.nokia.com/stable/qobject.html#blockSignals
bool QObject::blockSignals ( bool block )
如果 block 为真,则此对象发出的信号将被阻止(即,发出信号不会调用与其连接的任何东西).如果 block 为 false,则不会发生此类阻塞.返回值是signalsBlocked() 的前一个值.请注意,即使此对象的信号已被阻止,也会发出 destroy() 信号.另见signalsBlocked().
这篇关于暂时抑制 PyQt 事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!