wxPython中的OnInit和__init__

Cha*_*ame 6 python constructor wxpython

我正在学习wxPython.在其中一个示例中,代码如下:

import wx

class App(wx.App):    
    def OnInit(self):
        frame = wx.Frame(parent=None, title = 'bare')
        frame.Show()
        return True


app=App()
app.MainLoop()
Run Code Online (Sandbox Code Playgroud)

我注意到该类App没有构造函数,只有函数OnInit.据我所知,Python类是用__init__函数构造的.

那么,OnInit函数是针对特定的类吗?或者它是另一种类型的构造函数?

请原谅我的无知,因为我是新手.谢谢.

fal*_*tru 5

根据wx.App.__init__文档

您应该覆盖OnInit进行应用程序初始化,以确保系统、工具包和 wxWidgets 已完全初始化。

->OnInit方法仅适用于派生wx.App.