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()
運行結果如圖:
運行過程中可以看見,後臺和界面是同時打印的