我到处寻找,但我无法找到问题的答案。我需要你在PyQt5中关于QThread线程的帮助。为了学习,我在main.py文件中创建了两个类。其中一个类是GUI类,另一个是使用QThread对象创建的线程。
from PyQt5 import QtCore, QtGui, QtWidgets
import threading_gui # contains GUI generated by pyuic5
class Change_values(QtCore.QThread):
def __init__(self, parent = None, str_variable, int_variable):
self.var1 = str_variable
self.var2 = int_variable
def run(self):
self.var1 += ' testing thread communication'
self.var2 += 4
class MainWindow(QtWidgets.QMainWindow, threading_gui.UI_MainWindow):
change_signal = QtCore.pyqtSignal(str, int, name='change_signal')
def __init__(self, parent = None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.btn_Run.clicked.connect(self.process_data)
self.thread1 = Change_values('I am', 3)
def process_data(self):
self.thread1.start()
这是我设法做到的。现在我需要有人来解释我如何从线程Change_values中发出信号并在我的GUI线程中显示变量var1和var2的内容。
我能够找到PyQt4的例子,但是当谈到PyQt5时没什么用处。提前谢谢大家。