对pyqt5多线程正确的开启姿势详解
如下所示:
#-*-coding:utf-8-*-
importsys
fromPyQt5.QtCoreimportQThread,pyqtSignal
fromPyQt5.QtWidgetsimportQApplication,QMainWindow,QWidget,QMessageBox,\
QPushButton,QLineEdit,QLabel,QToolTip,QComboBox,QTextEdit
classMyBeautifulClass(QMainWindow):
def__init__(self):
super(MyBeautifulClass,self).__init__()
self.init_ui()
definit_ui(self):
self.resize(1000,800)
self.setWindowTitle('DemoofPyQt5QThread')
self.btn_1=QPushButton('start',self)
self.btn_1.setGeometry(100,100,100,50)
self.btn_1.clicked.connect(self.slot_btn_1)
self.linEdit_2=QLineEdit(self)
self.linEdit_2.setGeometry(100,400,300,50)
defslot_btn_1(self):
self.mbt=MyBeautifulThread()
self.mbt.trigger.connect(self.slot_thread)
self.mbt.start()
defsay_love(self):
print('saylove')
defslot_thread(self,msg_1,msg_2):
self.linEdit_2.setText(msg_1+msg_2)
classMyBeautifulThread(QThread):
trigger=pyqtSignal(str,str)
def__init__(self):
super(MyBeautifulThread,self).__init__()
defrun(self):
w=MyBeautifulClass()
w.say_love()
self.trigger.emit('Lo','ve')
defmain():
app=QApplication(sys.argv)
w=MyBeautifulClass()
w.show()
sys.exit(app.exec_())
if__name__=='__main__':
main()
以上这篇对pyqt5多线程正确的开启姿势详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。