简述
在之前的文章中我们使用connect来连接信号与槽函数,使用disconnec来断开信号与槽函数的连接。
今天介绍的方法是如何阻塞当前对象的信号触发,有两种方法,下面一一道来。
1、blockSignals() / signalsBlocked
阻碍当前对象的信号触发效果
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().
获取当前对象的信号是否被阻碍
bool QObject::signalsBlocked() const
Returns true if signals are blocked; otherwise returns false.
Signals are not blocked by default.
如下方调用 m_wgtA->blockSignals(true); 则对象
本文介绍了在Qt中阻止信号触发的两种方法:blockSignals() 和 QSignalBlocker。blockSignals() 方法允许动态地开启和关闭信号阻塞,而QSignalBlocker在构造时阻止信号,在析构时自动解除。QObject的destroyed()信号无法被阻碍,即使对象被销毁前仍会发出。
订阅专栏 解锁全文
503

被折叠的 条评论
为什么被折叠?



