2011-09-06 103 views
3

我正在填充一個QTreeWidget的分支,然後將分支父級的擴展屬性設置爲true。 itemExpanded信號響應,這不是我想要的。在一段代碼中是否有暫時的方法來抑制或吸收信號?暫時禁止PyQt事件?

回答

6

您可以使用QObject :: blockSignals設置信號阻塞。
http://doc.qt.nokia.com/stable/qobject.html#blockSignals

BOOL的QObject :: blockSignals(布爾塊)
如果塊是真的,此對象發出的信號被阻止(即,發射信號將不會調用連接到它的任何東西)。如果塊爲假,則不會發生這種阻塞。 返回值是signalsBlocked()的先前值。 請注意,即使此對象的信號已被阻止,也會發出被破壞的()信號。 另請參閱signalsBlocked()。

+1

謝謝。那麼我認爲,我可以設計一個'with'語句來阻止和解除阻塞一組語句的信號。 – iwonder