Python 如何在另一个类中将函数的结果用作While验证器?

Python 如何在另一个类中将函数的结果用作While验证器?,python,while-loop,pyqt,pyqt5,Python,While Loop,Pyqt,Pyqt5,我正在使用pyQt5开发Python应用程序,更具体地说是使用QThread、QObject、QMainWindow 我有一个带有2个函数的主类(QMainWindow)(我在这里运行函数,因为我需要使用/调用QLabels、QLineEdit.text()等) 名为“initialDF”的函数从web下载一个数据帧并“播放”它,最后该函数得到一个名为Test的变量和一个名为data的最终数据帧。 该功能称为“bucleDF”转向数据 我需要在运行我的QThread的另一个类(QObject)中

我正在使用pyQt5开发Python应用程序,更具体地说是使用QThread、QObject、QMainWindow

我有一个带有2个函数的主类(QMainWindow)(我在这里运行函数,因为我需要使用/调用QLabels、QLineEdit.text()等) 名为“initialDF”的函数从web下载一个数据帧并“播放”它,最后该函数得到一个名为Test的变量和一个名为data的最终数据帧。 该功能称为“bucleDF”转向数据

我需要在运行我的QThread的另一个类(QObject)中使用Test作为While验证器,并且我需要调用While循环中的数据来“更新”调用测试的验证器

class Worker (QObject):    
    finished = pyqtSignal()
    stage1 = pyqtSignal()
    stage2 = pyqtSignal()

    def __init__(self) -> None:
        super().__init__(parent=None)
        

    def bucleRelleno(self):

        self.stage1.emit()       

        while test <= '17:00':
 
                self.stage2.emit()            
                lasttime = pd.to_datetime(max(data.index))
                lasttime = lasttime + datetime.timedelta(minutes=60)
                nexttime = lasttime + datetime.timedelta(minutes=2)
                test = "{:d}:{:02d}".format(nexttime.hour, nexttime.minute)                   
                t.sleep(1)
        self.finished.emit()


class MainWindow (QMainWindow):  
    global data
    def __init__(self, parent=None):
        super(MainWindow, self).__init__()
        uic.loadUi('xxxx', self)     
        self.run.clicked.connect(self.runLongTask)          

    def runLongTask(self):
        self.thread = QThread()
        self.worker = Worker()
        self.worker.moveToThread(self.thread)
        self.thread.started.connect(self.worker.bucleRelleno)
        self.worker.finished.connect(self.thread.quit)
        self.worker.finished.connect(self.worker.deleteLater)
        self.thread.finished.connect(self.thread.deleteLater)
        self.worker.stage1.connect(self.initialDF)
        self.worker.stage2.connect(self.bucleDF)
        self.thread.start()

    def initialDF(self):
        data = pandas.DataFrame()
        lasttime = pd.to_datetime(max(data.index))
        lasttime = lasttime + datetime.timedelta(minutes=60)
        nexttime = lasttime + datetime.timedelta(minutes=2)
        test = "{:d}:{:02d}".format(nexttime.hour, nexttime.minute)        
        
        return data, test


    def bucleDF(self):
        data2 = pandas.DataFrame()
        data = pd.concat([data, data2])
        return data
类工作者(QObject):
finished=pyqtSignal()
阶段1=pyqtSignal()
阶段2=pyqtSignal()
定义初始化(自)->无:
super()。\uuuu init\uuuuu(父项=无)
def BUCLERLELLENO(自我):
self.stage1.emit()
中途测试