2014-10-31 74 views
0

嗯,我无法弄清楚这个问题,我tryinf解决更复杂的东西,突然蟒蛇来到了这一点:错误的构造函数参数类型,PySide

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) 

我认为,它正在这样之前...... 你能告诉我什么事?谢谢你的时间。

+0

整个代码 - > http://pastebin.com/yLPWkucZ – user4175226 2014-10-31 09:39:19

+0

整个代码是没有帮助的,请把它删减到一个[minimal example](http://stackoverflow.com/help/mcve)重现这个问题。 – jonrsharpe 2014-10-31 09:43:54

+0

我在第一篇文章中粘贴了代码的最小部分,你能否看到它,不是吗?我粘贴的整个代码,对于那些想看看。 – user4175226 2014-10-31 10:37:17

回答

2

您正在调用MainWidget构造函数,其对象类型作为参数,而不是MainWindow的构造函数中的对象实例。

你应该有:

self.mainWidget = MainWidget(self) 

代替:

self.mainWidget = MainWidget(MainWindow)