Большую часть времени это выглядит так:
Код: Выделить всё
class MyThread(QThread):
result = pyqtSignal(str)
error = pyqtSignal(str)
def __init__(self, task, parent=None):
super().__init__(parent)
self.task = task
def run(self):
try:
self.task.lunch()
self.result.emit("Task processed")
except Exception as e:
self.error.emit(f"Error: {e}")
Как должна быть организована такая ситуация?
[*]Является ли создание подкласса QThread для каждой задачи/кнопки оптимальным и удобным в сопровождении подходом? Если да, то как его можно структурировать, чтобы избежать ненужного шаблона и управлять количеством сигналов и слотов для каждого отдельного потока?
[*]Как обеспечить двустороннюю связь с таким потоком? Должен ли я создавать отдельный поток для каждого шага (например, завершение одного потока, получение ответа пользователя и отправку его в новый поток) или есть лучший способ приостановить такой поток, отправить обратно ответ и возобновить обработку?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ny-windows