365直播电视版下载-beat365官网在线体育-beat365英国在线体育

QSignalBlocker Class

QSignalBlocker Class

成员函数文档

[explicit noexcept] QSignalBlocker::QSignalBlocker(QObject *object)

构造函数。调用object->blockSignals(true)。

[explicit noexcept] QSignalBlocker::QSignalBlocker(QObject &object)

调用object.blockSignals(true)。

这是一个重载函数。

[noexcept] QSignalBlocker::QSignalBlocker(QSignalBlocker &&other)

移动--从other 构造一个信号阻断器。other 将有一个无操作的析构函数,而恢复QObject::signalsBlocked() 状态的责任将转移到新对象。

[noexcept] QSignalBlocker::~QSignalBlocker()

销毁器。将QObject::signalsBlocked() 恢复到构造函数运行前的状态,除非调用了unblock() 而没有调用reblock() ,否则不做任何操作。

[noexcept, since 6.7] void QSignalBlocker::dismiss()

解散QSignalBlocker 。它将不再访问传递给其构造函数的QObject 。unblock()、reblock() 以及 ~QSignalBlocker() 将不起作用。

此函数在 Qt 6.7 中引入。

[noexcept] void QSignalBlocker::reblock()

在之前的unblock() 之后重新阻断信号。

reblock() 和unblock() 的调用次数不会计算在内,因此每次 reblock() 都会撤销任何次数的unblock() 调用。

[noexcept] void QSignalBlocker::unblock()

将QObject::signalsBlocked() 暂时恢复到QSignalBlocker 的构造函数运行之前的状态。要撤销,请使用reblock() 。

reblock() 和 unblock() 的调用次数不会计算在内,因此每次 unblock() 都会撤销任意次数的reblock() 调用。

[noexcept] QSignalBlocker &QSignalBlocker::operator=(QSignalBlocker &&other)

移动将此信号屏蔽器从other 指定。other 将有一个无操作的析构函数,而恢复QObject::signalsBlocked() 状态的责任将转移到此对象。

该信号屏蔽程序在被移动之前屏蔽的对象信号(如果有)将被解除屏蔽,除非两个实例屏蔽了同一对象的信号,并且在移动时*this 被解除屏蔽,而other 未被解除屏蔽。

相关推荐