我遇到了这样一种情况:Gui是活动的,QThread是活动的。 QThread一直在后台获取和保存数据,它不应该停止这样做。 现在我想处理来自QThread的最新数据,而不中断QThread或冻结Gui。你知道吗
所以我想我需要另一根线来做这个?! 如何将其数据传递给另一个线程并对其进行处理?你知道吗
import sys, random, time
from PyQt5 import QtWidgets
from PyQt5.QtCore import *
class Ui(QtWidgets.QMainWindow):
def __init__(self):
super(Ui, self).__init__()
self.setWindowTitle('Window')
#getData
self.myGetData = getData()
self.myGetData.start()
self.show()
class getData(QThread):
#This Thread should run all the time
def run(self):
while True:
myNumber = random.randint(0, 100)
#He 'processData Thread'!! Do Something with mynumber!!
time.sleep(1)
class processData(QThread):
def processNumber(self, myNumber):
#Extremly complex code will execute while 'getData' is doing its thing.
newNumber = myNumber * 10
return newNumber
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
window = Ui()
sys.exit(app.exec_())
找到了很多关于如何将数据从QThread传递到接口(信号)的示例。。但不是相反。 在这种情况下,信号让我有点困惑。。你知道吗
我提议下一步:
相关问题 更多 >
编程相关推荐