pyqt_reactive.core.debounce_timer

Reusable trailing debounce timer.

Classes

DebounceTimer(delay_ms, handler)

Reusable trailing debounce timer.

class pyqt_reactive.core.debounce_timer.DebounceTimer(delay_ms: int, handler: Callable[[], None])[source]

Reusable trailing debounce timer.

Restarts timer on each call. Handler fires only after delay_ms of inactivity.

Usage:

self._debounce = DebounceTimer(delay_ms=200, handler=self._do_update)

def on_text_changed(self):

self._debounce.trigger() # Restarts timer

__init__(delay_ms: int, handler: Callable[[], None])[source]
trigger()[source]

Trigger debounce — restarts timer.

cancel()[source]

Cancel pending trigger.

force()[source]

Cancel timer and fire handler immediately.