import time from PyQt6.QtCore import QRunnable, QObject, QThreadPool, pyqtSignal as Signal, pyqtSlot as Slot import base class Signals(QObject): started = Signal(str) jsrun = Signal(str) completed = Signal(str) class JsRunWorker(QRunnable): def __init__(self, js_script, page_id): super().__init__() self.page_id = page_id self.js_script = js_script self.signals = Signals() @Slot() def run(self): self.signals.started.emit(self.page_id) time.sleep(0.5) #print("PAGE ID is " + str(self.page_id) + " - " + self.js_script) self.signals.jsrun.emit(self.js_script) self.signals.completed.emit(self.page_id)