PySide构造函数参数类型错误
我遇到了一个问题,正在尝试解决一个更复杂的事情,结果突然Python出现了这个:
class MainWidget(QWidget):
def __init__(self, parent=None):
super(MainWidget,self).__init__(parent)
self.initUI()
...
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.mainWidget = MainWidget(MainWindow)
而我的开发环境(IDE)显示的是:
File "/home/maze/Develop/StartApp/startapp.py", line 47, in __init__
super(MainWidget,self).__init__(parent)
TypeError: 'PySide.QtGui.QWidget' called with wrong argument types:
PySide.QtGui.QWidget(Shiboken.ObjectType)
Supported signatures:
PySide.QtGui.QWidget(PySide.QtGui.QWidget = None, PySide.QtCore.Qt.WindowFlags = 0)
我记得之前是可以正常工作的……你能告诉我这是怎么回事吗?谢谢你的时间。
1 个回答
2
你在调用MainWindow
的构造函数时,给MainWidget
的构造函数传了一个对象类型,而不是一个对象实例。
你应该这样做:
self.mainWidget = MainWidget(self)
而不是这样:
self.mainWidget = MainWidget(MainWindow)