对pyqt5多线程正确的开启姿势详解

yipeiwu_com5年前Python基础

如下所示:

# -*- coding: utf-8 -*-
 
import sys
from PyQt5.QtCore import QThread, pyqtSignal
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QMessageBox, \
  QPushButton, QLineEdit, QLabel, QToolTip, QComboBox, QTextEdit
 
 
class MyBeautifulClass(QMainWindow):
  def __init__(self):
    super(MyBeautifulClass, self).__init__()
    self.init_ui()
 
  def init_ui(self):
    self.resize(1000, 800)
    self.setWindowTitle('Demo of PyQt5 QThread')
    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)
 
  def slot_btn_1(self):
    self.mbt = MyBeautifulThread()
    self.mbt.trigger.connect(self.slot_thread)
    self.mbt.start()
 
  def say_love(self):
    print('say love')
 
  def slot_thread(self, msg_1, msg_2):
    self.linEdit_2.setText(msg_1 + msg_2)
 
 
class MyBeautifulThread(QThread):
  trigger = pyqtSignal(str, str)
 
  def __init__(self):
    super(MyBeautifulThread, self).__init__()
 
  def run(self):
    w = MyBeautifulClass()
    w.say_love()
    self.trigger.emit('Lo', 've')
 
 
def main():
  app = QApplication(sys.argv)
  w = MyBeautifulClass()
  w.show()
  sys.exit(app.exec_())
 
 
if __name__ == '__main__':
  main()

以上这篇对pyqt5多线程正确的开启姿势详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python利用rsa库做公钥解密的方法教程

前言 对于RSA的解密,即密文的数字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再对结果除以 N 求余数即可得到明文。D 和 N 的组合就是私钥(private key)...

python函数不定长参数使用方法解析

这篇文章主要介绍了python函数不定长参数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 pathon中的函数可以使用不...

Python中的单行、多行、中文注释方法

Python中的单行、多行、中文注释方法

一、python单行注释符号(#) python中单行注释采用 #开头 示例:#this is a comment 二、批量、多行注释符号 多行注释是用三引号”' ”'包含的,例如:...

Django框架实现分页显示内容的方法详解

本文实例讲述了Django框架实现分页显示内容的方法。分享给大家供大家参考,具体如下: 分页 1、作用 数据加载优化 2、前端引入bootstrap样式: {# 引入bootstra...

numpy.ndarray 交换多维数组(矩阵)的行/列方法

如下所示: >> import numpy as np >> P = np.eye(3) >> P array([[ 1., 0., 0.],...