【发布时间】:2018-01-21 23:08:29
【问题描述】:
嗨,我有 Qthread,它必须等待用户从 MainWindow 输入的几分钟 一些Qthread代码
class Worker(QThread):
list_of_dict_signals = pyqtSignal(list)
def __init__(self):
QThread.__init__(self)
self.running = False
def run(self):
self.running = True
while self.running:
info = self.check_info()
print(info)
self.list_of_dict_signals.emit(info)
self.sleep(value that user have to input in main window)
主窗口部分代码:
class MyWin(QtWidgets.QMainWindow):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.myworker = Worker()
self.myworker.list_of_dict_signals.connect(self.onDataFromThread)
self.ui.pushButton.clicked.connect(self.on_start)
self.ui.pushButton_2.clicked.connect(self.on_stop)
def on_start(self):
if not self.myworker.isRunning():
#need to send data from self.ui.spinBox.value() each time when user press start
self.myworker.start()
谢谢
【问题讨论】:
-
你可以更好地解释我,我什么都不懂。 :P
-
GUI 中有一个
self.ui.spinBox = QtWidgets.QSpinBox(self.centralwidget),当用户按下self.ui.pushButton.clicked.connect(self.on_start)时,我必须将它的value发送到Qthread,可能是Worker。
标签: python python-3.x pyqt pyqt5 qthread