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()

運行結果如圖:
這裏寫圖片描述

運行過程中可以看見,後臺和界面是同時打印的

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