我有个问题找不到答案。在
我正在开发一个GUI应用程序,它是用Python及其UI库开发的:PySide2
(Python的Qt包装器)
我有一个很重的计算功能,我想把它放到另一个线程上,这样就不会冻结我的用户界面。Ui应该显示“加载”,当函数结束时,从中接收结果并用它更新Ui。在
我试过很多不同的代码,很多例子对其他人有用,但对我不起作用,这是PySide2的错误吗?(例如,这几乎就是我想要做的:Updating GUI elements in MultiThreaded PyQT)
我的代码是:
class OtherThread(QThread):
def __init__(self):
QThread.__init__(self)
def run(self):
print 'Running......'
self.emit(SIGNAL("over(object)"), [(1,2,3), (2,3,4)])
@Slot(object)
def printHey( obj):
print 'Hey, I\'ve got an object ',
print obj
thr = OtherThread()
self.connect(thr,SIGNAL("over(object)"),printHey)
thr.start()
如果我使用诸如bool
或{
希望有人能启发我
不能在类实例上动态定义信号。它们必须被定义为类属性。您应该使用new-style signals and slot syntax。在
相关问题 更多 >
编程相关推荐