PyQt笔记004——多线程信号槽通信:前台后台同时打印

来源:互联网 发布:java 调用scala 坑 编辑:程序博客网 时间:2024/05/22 12:57

PyQt笔记004——多线程信号槽通信:前台后台同时打印

我总觉得信号槽这里看的有点晕。。。自己尝试写了一个,居然成功了~

from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from transferParametersSimple import *import timeclass printThread(QThread):    pthread = pyqtSignal(str)    def __init__(self):        super(printThread,self).__init__()    def run(self):        for i in range(5):            self.pthread.emit(str(i))            print(i)            time.sleep(2)class mywindow(QtWidgets.QMainWindow,Ui_MainWindow):    printth = printThread()    def __init__(self):        super(mywindow,self).__init__()        self.setupUi(self)        self.printButton.clicked.connect(self.printthr)        self.printth.pthread.connect(self.tbprint)    def printthr(self):        self.printth.start()    def tbprint(self,str):        self.tb.append(str)if __name__=="__main__":    import sys    app = QtWidgets.QApplication(sys.argv)    mywindow = mywindow()    mywindow.show()

运行结果如图:
这里写图片描述

运行过程中可以看见,后台和界面是同时打印的