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.