【问题标题】:Suppress PyQt event temporarily?暂时抑制 PyQt 事件?
【发布时间】:2011-11-11 12:06:52
【问题描述】:

我正在填充 QTreeWidget 的一个分支,然后将分支父级上的扩展属性设置为 true。 itemExpanded 信号作为响应触发,这不是我想要的。有没有一种临时方法可以在一段代码期间抑制或吸收信号?

【问题讨论】:

    标签: python pyqt qtreewidget


    【解决方案1】:

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

    bool QObject::blockSignals ( 布尔块 )
    如果 block 为真,则该对象发出的信号将被阻塞(即,发出信号不会调用任何与之连接的东西)。如果 block 为 false,则不会发生这样的阻塞。 返回值是 signalsBlocked() 的前一个值。 请注意,即使该对象的信号已被阻止,也会发出 destroy() 信号。 另请参见 signalsBlocked()。

    【讨论】:

    • 谢谢。然后我假设我可以设计一个with 语句来阻止和取消阻止一组语句的信号。
    猜你喜欢
    • 1970-01-01
    • 2010-10-04
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多