美女pk精子3,网络论坛,里番二区吧
在我开发的系统,需要子线程去运行,然后把运行的结果发给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爬虫:Request Payload和Form Data的简单区别说明
浅谈Python中threading join和setDaemon用法及区别说明
Python3-异步进程回调函数(callback())介绍
python继承threading.Thread实现有返回值的子类实例
Python中使用threading.Event协调线程的运行详解
网友评论