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

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

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

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from transferParametersSimple import *
import time
class 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()

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章