Теперь, когда этот поток остановлен, как я могу убедиться, что он завершили текущий цикл и выдали его сигнал перед продолжением (и, например, выдачу сводного сигнала)?
Код: Выделить всё
import sys
import time
from PySide6.QtCore import Signal, Slot
from PySide6 import QtCore
from PySide6 import QtWidgets
##==============================================================================
class EmitterClassThreaded(QtCore.QThread):
## Define a signal that emits a dictionary
data_signal = Signal(dict)
##--------------------------------------------------------------------------
def __init__(self):
super().__init__()
self.counter = 0
self.t_start = time.time()
self.running = True
## Connect the signal to a method within the same class
self.data_signal.connect(self.handle_data)
##--------------------------------------------------------------------------
def run(self):
while self.running:
self.counter += 1
now = time.time() - self.t_start
data = {'counter': self.counter, 'timestamp': f"{now:.1f}"}
time.sleep(1) #
Подробнее здесь: [url]https://stackoverflow.com/questions/79277671/waiting-for-a-pyqt-pyside-qtcore-qthread-to-finish-before-doing-something[/url]