当前位置: 移动技术网 > IT编程>脚本编程>Python > 解决PySide+Python子线程更新UI线程的问题

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

2019年03月21日  | 移动技术网IT编程  | 我要评论

美女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线程的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网