暂时抑制PyQt事件?

发布于 2024-12-03 08:37:52 字数 107 浏览 1 评论 0原文

我正在填充 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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

饮惑 2024-12-10 08:37:52

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

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

You can set blocking of signals using QObject::blockSignals.
http://doc.qt.nokia.com/stable/qobject.html#blockSignals

bool QObject::blockSignals ( bool block )
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). If block is false, no such blocking will occur.
The return value is the previous value of signalsBlocked().
Note that the destroyed() signal will be emitted even if the signals for this object have been blocked.
See also signalsBlocked().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文