@magali
Чтобы передать параметры в поток на PyQt5, можно использовать класс QThread
, который предоставляет методы для управления потоком выполнения.
Вот пример кода, который показывает, как передавать параметры в поток на PyQt5:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
from PyQt5.QtCore import QThread, pyqtSignal class Worker(QThread): finished = pyqtSignal() def __init__(self, param1, param2): super().__init__() self.param1 = param1 self.param2 = param2 def run(self): # выполнение работы с параметрами # ... self.finished.emit() # создаем объект потока worker_thread = Worker(param1_value, param2_value) # запускаем поток worker_thread.start() # ожидаем завершения потока worker_thread.finished.connect(app.exit) |
В этом примере мы создали класс Worker
, который наследуется от QThread
и принимает два параметра в конструкторе: param1
и param2
. Затем мы определили метод run()
, который выполняет работу с этими параметрами. Когда работа завершена, мы отправляем сигнал finished
, который используется для остановки приложения.
Для запуска потока мы создали объект worker_thread
и передали ему значения параметров param1_value
и param2_value
. Затем мы вызываем метод start()
для запуска выполнения потока. И наконец, мы соединяем сигнал finished
с методом exit()
объекта app
, который используется для завершения приложения.