def worker(widget: QtWidgets.QWidget, trigger: QtCore.pyqtSignal) -> None: while True: widget.refresh() trigger.emit(widget.render) if widget.delay > 0: time.sleep(widget.delay)