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


Posted in Python onJune 14, 2019

如下所示:

# -*- 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实现的数据结构与算法之队列详解
Apr 22 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
浅析Python装饰器以及装饰器模式
May 28 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
Python实现字符串匹配的KMP算法
Apr 04 Python
Python实现的排列组合、破解密码算法示例
Apr 12 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
如何清空python的变量
Jul 05 Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 #Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 #Python
PYQT5设置textEdit自动滚屏的方法
Jun 14 #Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 #Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 #Python
ubuntu 16.04下python版本切换的方法
Jun 14 #Python
windows下安装Python虚拟环境virtualenvwrapper-win
Jun 14 #Python
You might like
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
php 批量替换html标签的实例代码
2013/11/26 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
通过Javascript创建一个选择文件的对话框代码
2012/06/16 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
jquery实现列表上下移动功能
2016/02/25 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
Js实现粘贴上传图片的原理及示例
2020/12/09 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
python实现ip查询示例
2014/03/26 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python3中rank函数的用法
2019/11/27 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
阿玛尼美妆俄罗斯官网:Giorgio Armani Beauty RU
2020/07/19 全球购物
Java语言的优势
2015/01/10 面试题
应届生煤化工求职信
2013/10/21 职场文书
数控专业推荐信范文
2013/12/02 职场文书
班组长安全生产职责
2013/12/16 职场文书
公证委托书大全
2014/04/04 职场文书
科技工作者先进事迹
2014/08/16 职场文书
结婚主持人致辞
2015/07/28 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB