class QSignalBlocker#

Exception-safe wrapper around blockSignals() . More

Synopsis#

Methods#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

Detailed Description#

Warning

This section contains snippets that were automatically translated from C++ to Python and may contain errors.

QSignalBlocker can be used wherever you would otherwise use a pair of calls to blockSignals(). It blocks signals in its constructor and in the destructor it resets the state to what it was before the constructor ran.

blocker = QSignalBlocker(someQObject)
# no signals here

is thus equivalent to

wasBlocked = someQObject.blockSignals(True)
# no signals here
someQObject.blockSignals(wasBlocked)

except the code using QSignalBlocker is safe in the face of exceptions.

See also

QMutexLocker QEventLoopLocker

__init__(o)#
Parameters:

oQObject

This is an overloaded function.

Calls object.blockSignals(true).

__init__(o)
Parameters:

oQObject

Constructor. Calls object->blockSignals(true).

__enter__()#
Return type:

QSignalBlocker

__exit__(arg__1, arg__2, arg__3)#
Parameters:
  • arg__1 – object

  • arg__2 – object

  • arg__3 – object

dismiss()#

Dismisses the QSignalBlocker . It will no longer access the QObject passed to its constructor. unblock() , reblock() , as well as ~ QSignalBlocker() will have no effect.

reblock()#

Re-blocks signals after a previous unblock() .

The numbers of reblock() and unblock() calls are not counted, so every reblock() undoes any number of unblock() calls.

unblock()#

Temporarily restores the signalsBlocked() state to what it was before this QSignalBlocker ‘s constructor ran. To undo, use reblock() .

The numbers of reblock() and unblock() calls are not counted, so every unblock() undoes any number of reblock() calls.