对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 相关文章推荐
一则python3的简单爬虫代码
May 26 Python
python错误处理详解
Sep 28 Python
python用来获得图片exif信息的库实例分析
Mar 16 Python
以windows service方式运行Python程序的方法
Jun 03 Python
Python实现SMTP发送邮件详细教程
Mar 02 Python
对python append 与浅拷贝的实例讲解
May 04 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
python 抓取知乎指定回答下视频的方法
Jul 09 Python
matplotlib对象拾取事件处理的实现
Jan 14 Python
Python中os模块的简单使用及重命名操作
Apr 17 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 模拟登陆MSN并获得用户信息
2009/05/16 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
php实现斐波那契数列的简单写法
2014/07/19 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
根据json字符串生成Html的一种方式
2013/01/09 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
jqGrid 学习笔记整理——进阶篇(一 )
2016/04/17 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
es6 字符串String的扩展(实例讲解)
2017/08/03 Javascript
解决jQuery使用append添加的元素事件无效的问题
2018/08/30 jQuery
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
Python中的字典与成员运算符初步探究
2015/10/13 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
python解析含有重复key的json方法
2019/01/22 Python
python程序控制NAO机器人行走
2019/04/29 Python
python如何使用腾讯云发送短信
2020/09/17 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
高三语文教学反思
2014/01/15 职场文书
《自然之道》教学反思
2014/02/11 职场文书
建设投标担保书
2014/05/13 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
债务纠纷委托书
2014/08/30 职场文书
社会工作专业自荐信
2014/09/26 职场文书
政风行风整改方案
2014/10/25 职场文书
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS