解决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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
深入理解Python 代码优化详解
Oct 27 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
python协程gevent案例 爬取斗鱼图片过程解析
Aug 27 Python
python如何从文件读取数据及解析
Sep 19 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 Python
Python Pivot table透视表使用方法解析
Sep 11 Python
Python模拟登录requests.Session应用详解
Nov 17 Python
Python入门基础之数字字符串与列表
Feb 01 Python
从np.random.normal()到正态分布的拟合操作
Jun 02 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
什么是MVC,好东西啊
2007/05/03 PHP
php 获取可变函数参数的函数
2009/08/26 PHP
Javascript学习笔记2 函数
2010/01/11 Javascript
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
js 模拟气泡屏保效果代码
2010/07/10 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
Node.js安装配置图文教程
2017/05/10 Javascript
web前端vue之CSS过渡效果示例
2018/01/10 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
利用js-cookie实现前端设置缓存数据定时失效
2019/06/18 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
编写Python脚本抓取网络小说来制作自己的阅读器
2015/08/20 Python
Python基本语法经典教程
2016/03/11 Python
python微信公众号之关键词自动回复
2018/06/15 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
在Python中实现函数重载的示例代码
2019/12/12 Python
python3 xpath和requests应用详解
2020/03/06 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
CSS3动画animation实现云彩向左滚动
2014/05/09 HTML / CSS
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
linux面试题参考答案(5)
2014/09/01 面试题
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
国贸专业个人求职信分享
2013/12/04 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
公关活动策划方案
2014/05/25 职场文书
办理房产证委托书
2014/09/18 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
车间班组长竞聘书
2015/09/15 职场文书
财务人员入职担保书
2015/09/22 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
python套接字socket通信
2022/04/01 Python