对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获取DLL和EXE文件版本号的方法
Mar 10 Python
Python中的多重装饰器
Apr 11 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
Python中类型检查的详细介绍
Feb 13 Python
Python实现excel转sqlite的方法
Jul 17 Python
Python实现迭代时使用索引的方法示例
Jun 05 Python
python数据归一化及三种方法详解
Aug 06 Python
详解使用Python下载文件的几种方法
Oct 13 Python
详解python中*号的用法
Oct 21 Python
python实现将字符串中的数字提取出来然后求和
Apr 02 Python
python 两种方法删除空文件夹
Sep 29 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 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
PHP常用设计模式之委托设计模式
2016/02/13 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
mouse_on_title.js
2006/08/25 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
JQueryEasyUI之DataGrid数据显示
2016/11/23 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python基础之文件读取的讲解
2019/02/16 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
2019年.net常见面试问题
2012/02/12 面试题
自我鉴定怎么写
2014/01/12 职场文书
办公室岗位职责
2014/02/12 职场文书
小学英语课后反思
2014/04/26 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript