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()
运行结果如图:
运行过程中可以看见,后台和界面是同时打印的