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