QSignalBlocker#

Exception-safe wrapper around blockSignals() . More

Synopsis#

Functions#

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

class PySide6.QtCore.QSignalBlocker(o)#

PySide6.QtCore.QSignalBlocker(o)

Parameters:

oPySide6.QtCore.QObject

This is an overloaded function.

Calls object.blockSignals(true).

Constructor. Calls object->blockSignals(true).

PySide6.QtCore.QSignalBlocker.__enter__()#
Return type:

PySide6.QtCore.QSignalBlocker

PySide6.QtCore.QSignalBlocker.__exit__(arg__1, arg__2, arg__3)#
Parameters:
  • arg__1 – object

  • arg__2 – object

  • arg__3 – object

PySide6.QtCore.QSignalBlocker.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.

PySide6.QtCore.QSignalBlocker.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.