基本上我想创建一个qtabwidget并在另一个线程中启动其中的每个小部件。到目前为止,我试图发出不起作用的小部件,因为插槽不支持Qwidget。然而,我可以在主线程中启动一个widget类,我调用一个线程,该线程调用另一个绘制QWidget的类。这是有效的,但只要我将鼠标移动到线程中调用的窗口我就会得到
QApplication: Object event filter cannot be in a different thread.
所以可能不应该这样做
#!/usr/bin/env python
from PyQt4 import QtGui
from PyQt4 import QtCore
from PyQt4.QtCore import QThread, SIGNAL
import sys
class seconwidget(QtGui.QWidget):
def showit(self, toshow):
toshow.show()
def __init__(self):
QtGui.QDialog.__init__(self)
self.setGeometry(300,300,400,400)
self.setWindowTitle("tryit")
self.show()
class seconddialog(QThread):
def __init__(self):
QThread.__init__(self)
def run(self):
self.newwid=seconwidget()
class mainwindow(QtGui.QWidget):
def showit(self, toshow):
toshow.show()
def __init__(self):
QtGui.QDialog.__init__(self)
self.setGeometry(300,300,400,400)
self.setWindowTitle("try")
self.show()
self.show_thread=seconddialog()
self.show_thread.start()
if __name__=='__main__':
app=QtGui.QApplication(sys.argv)
wind=mainwindow()
app.exec_()
可以做到,做正确的方法是什么?