Pyqt的线程

pyqt的线程

需要使用QThread库

线程可以通过信号来传参

线程自动执行run函数

#线程类
class hujuThread(QThread):
    #线程返回的信号,可以返回定义类型
    compare_signal = pyqtSignal(str)
    #初始化
    def __init__(self):
        super().__init__()
    #执行的函数
    def run(self):
        ...
        #返回信号
        self.compare_signal.emit(i)
#ui类
class time2(QtWidgets.QMainWindow,Ui_MainWindow):
    def __init__(self):
        super(time2,self).__init__()
        self.setupUi(self)
        #调用线程
        self.huju_thread = hujuThread()
        #当线程返回信号时执行函数
        self.huju_thread.compare_signal.connect(self.one)
        #开始运行线程
        self.huju_thread.start()
    def one(self):
        ...