解决PySide+Python子线程更新UI线程的问题


Posted in Python onJanuary 11, 2019

在我开发的系统,需要子线程去运行,然后把运行的结果发给UI线程,让UI线程知道运行的进度。

首先创建线程很简单

def newThread(self):
 d = Data()
 print '子线程的运行'
t1 = threading.Thread(target=newThread)
t1.setDaemon(True)
t1.start()

之后我发现用子线程去调用UI线程是行不通的,只能通过信号和槽来实现,于是

首先,定义一个类,让他实现PySide.QtCore.QObject类

class Data(PySide.QtCore.QObject): 
 #定义信号
 mySignal = Signal()

 def __init__(self): 
  #这句话很重要
  super(Data, self).__init__()
 def run(self):
  mySignal.emit()

然后再把主线程的方法绑定到该槽上去

QtCore.QObject.connect(Data的实例,QtCore.SIGNAL('mySignal()'),'主线程的方法')

最后,就可以在子线程执行run方法的时候,就会调用UI线程的方法

以上这篇解决PySide+Python子线程更新UI线程的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中去空格函数的用法
Aug 21 Python
python根据出生日期返回年龄的方法
Mar 26 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
Python3 replace()函数使用方法
Mar 19 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
TensorFlow Session会话控制&Variable变量详解
Jul 30 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
pycharm 配置远程解释器的方法
Oct 28 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
python3跳出一个循环的实例操作
Aug 18 Python
Python实现机器学习算法的分类
Jun 03 Python
Python Matplotlib绘制条形图的全过程
Oct 24 Python
python PrettyTable模块的安装与简单应用
Jan 11 #Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 #Python
pyqt5实现俄罗斯方块游戏
Jan 11 #Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 #Python
对python多线程中Lock()与RLock()锁详解
Jan 11 #Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 #Python
Python设计模式之组合模式原理与用法实例分析
Jan 11 #Python
You might like
ThinkPHP中Common/common.php文件常用函数功能分析
2016/05/20 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
php中通用的excel导出方法实例
2017/12/30 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
2016/10/10 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
vue webpack打包优化操作技巧
2018/02/22 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
改进Django中的表单的简单方法
2015/07/17 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
详解Python字典小结
2018/10/20 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python中for in的用法详解
2020/04/17 Python
Python用来做Web开发的优势有哪些
2020/08/05 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
国培计划培训感言
2014/03/11 职场文书
外国人聘用意向书
2014/04/01 职场文书
初中班主任寄语
2014/04/04 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
2014年超市员工工作总结
2014/11/18 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
玄武湖导游词
2015/02/05 职场文书
python playwright之元素定位示例详解
2022/07/23 Python