В моей программе есть один рабочий поток, который возвращает число каждую секунду, навсегда, пока в главном окне не прозвучит сигнал остановки. Я хочу, чтобы он испускал сигнал каждый раз, когда он меняет значение, поэтому я могу обновить Главное окно с возвращенным значением. Я пытался просто излучать сигнал в самой функции, но не работает.
рабочий:
from test import save_data
class Worker(QObject):
finished = pyqtSignal() # give worker class a finished signal
def __init__(self, parent=None):
QObject.__init__(self, parent=parent)
def do_work(self):
save_data.main()
self.finished.emit() # emit the finished signal when the loop is done
def stop(self):
save_data.run = False # set the run condition to false on stop
test.py:
import time
from Pyqt5.QtCore import pyqtSignal
run = True
value = pyqtSignal(int)
def main():
x = 1
while run:
print(x)
x += 1
time.sleep(1)
#value.emit(x)