示例#1
0
def silent_qobject(qobject: QObject) -> QObject:
    """Disable notifying connected callbacks/slots."""
    blocked_status: bool = qobject.blockSignals(True)
    try:
        yield qobject
    finally:
        qobject.blockSignals(blocked_status)
示例#2
0
def blockSignals(obj: QtCore.QObject):
    """Context manager for temporarily blocking signal emission

    Wraps :py:meth:`QtCore.QObject.blockSignals`. The previous blocking state
    is restored upon exiting.

    Parameters
    ----------
    obj
        The object instance for which signals will be blocked
    """
    try:
        wasBlocked = obj.blockSignals(True)
        yield
    finally:
        obj.blockSignals(wasBlocked)
示例#3
0
def blockedSignals(qObject: QObject):
    oldState = qObject.blockSignals(True)
    try:
        yield
    finally:
        qObject.blockSignals(oldState)