对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 Web框架Flask信号机制(signals)介绍
Jan 01 Python
用Python解析XML的几种常见方法的介绍
Apr 09 Python
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
对numpy 数组和矩阵的乘法的进一步理解
Apr 04 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
Python:type、object、class与内置类型实例
Dec 25 Python
python super用法及原理详解
Jan 20 Python
TensorFlow设置日志级别的几种方式小结
Feb 04 Python
python实现查找所有程序的安装信息
Feb 18 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 Python
python 经纬度求两点距离、三点面积操作
Jun 03 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
模仿OSO的论坛(五)
2006/10/09 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
php实现可运算的验证码
2015/11/10 PHP
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
跟我学习javascript的undefined与null
2015/11/17 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
本地存储localStorage用法详解
2017/07/31 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
Vue中关闭弹窗组件时销毁并隐藏操作
2020/09/01 Javascript
详解Python网络爬虫功能的基本写法
2016/01/28 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
numpy中矩阵合并的实例
2018/06/15 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
详解CSS3 rem(设置字体大小) 教程
2017/11/21 HTML / CSS
韩国家庭购物网上商店:Nsmall
2017/05/07 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
int和Integer有什么区别
2013/05/25 面试题
深圳茁壮笔试题
2015/05/28 面试题
Java基础面试题
2012/11/02 面试题
工程技术员岗位职责
2014/03/02 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
活动总结格式
2014/08/30 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript