可能重复:
如何在不同的 Qt 线程中调用 GUI 元素?
我有一个应用程序,其中一个线程(不是主线程)需要访问 GUI 的元素(发送单击操作,显示消息框等)。我在 python 和 Qt 中工作,我也知道这是不可能的主线程。有没有办法做到这一点,我的意思是将我想要在线程中执行的操作发送到主线程?我试过了:de
f myfunc(q):
self.emit(QtCore.SIGNAL('trie'))
try: line = q.get_nowait()
# or q.get(timeout=.1)
except Empty:
pass #No hacer nada si la linea de texto es null
else: # got line
# ... do something with line
self.emit(QtCore.SIGNAL('trie'))
thread = threading.Thread(target=myfunc, args=(q,))
thread.start()
并连接:
self.connect(self.thread, QtCore.SIGNAL('tri'), self.prueba)
但它不起作用,我认为发件人无法识别:self.thread
这是我的错误:
Exception AttributeError: "'NoneType' object has no attribute 'GApp'" in <bound method VBoxManager.__del__ of <GNS3.VBoxManager.VBoxManager object at 0xa13e14c>