暂时抑制PyQt事件?

4

我正在填充QTreeWidget的一个分支,然后将父分支的展开属性设置为true。这会触发itemExpanded信号,但这不是我想要的。在代码段中有没有暂时抑制或吸收信号的方法?

1个回答

8
你可以使用QObject::blockSignals来设置信号的阻塞。 如果block为true,则此对象发出的信号将被阻止(即发出信号不会调用任何连接到它的内容)。如果block为false,则不会发生此类阻塞。 返回值是signalsBlocked()的先前值。 请注意,即使已阻止此对象的信号,destroyed()信号也将被发射。 另请参见signalsBlocked()。 http://doc.qt.nokia.com/stable/qobject.html#blockSignals

1
谢谢。我认为我可以使用with语句来阻塞和解除一组语句的信号。 - iwonder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接