dcs_liberation/qt_ui/blocksignals.py

14 lines
299 B
Python

from collections.abc import Iterator
from contextlib import contextmanager
from PySide6.QtWidgets import QWidget
@contextmanager
def block_signals(widget: QWidget) -> Iterator[None]:
blocked = widget.blockSignals(True)
try:
yield
finally:
widget.blockSignals(blocked)