存在一个wxwidgets UI类,如下所示:
class mainFrame ( wx.Frame ):
def __init__( self, parent ):
# Constructor code
# ...
# ...
# Virtual event handlers, overide them in your derived class
def about_click( self, event ):
event.Skip()
def search_perform( self, event ):
event.Skip()
def new_note_event( self, event ):
event.Skip()
def save_note_event( self, event ):
event.Skip()
我能够直接构造这个类的实例并填写事件存根,它可以正常工作,但我确信我根本不应该更改UI代码文件,而是将其用作我的基础班。
我尝试使用
class Main(mainFrame):
def __init__(self):
super(mainFrame, self).__init__(self, None)
以上不起作用。
答案 0 :(得分:1)
现在修好了。 super()
来电是代理。当我通过名称引用父类时,它可以工作。
我使用UI类的方式是
class Main(mainFrame):
def __init__(self):
mainFrame.__init__(self, None) # using super().__init__(self, None) fails
def about_click( self, event ):
print("AboutDialog")
def main():
app = wx.PySimpleApp(0)
frame = Main()
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
if __name__ == '__main__':
main()
super()
无法正常工作。它仅适用于从object
或其他新式类继承的new-style classes。