This is a MCVE:
import sys
from PyQt6.QtCore import QObject, QThread, pyqtSignal, pyqtSlot
from PyQt6.QtWidgets import QApplication
class Task(QObject):
@pyqtSlot()
def start(self):
print("task started")
class Controller(QObject):
startTask = pyqtSignal()
def __init__(self):
super().__init__()
self.workerThread = QThread()
self.workerThread.start()
def start(self):
task = Task()
task.moveToThread(self.workerThread)
self.startTask.connect(task.start)
self.startTask.emit()
print("startTask signal sent")
if __name__ == "__main__":
app = QApplication(sys.argv)
controller = Controller()
controller.start()
sys.exit(app.exec())
When I run this code, "task started"
is not printed. Why?