创建一个最小的空的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()
上面的代码的任何一行都不能少,否则将不能工作。这个基本的wxPython程序说明了开发任一wxPython程序所必须的五个基本步骤:
-
导入必须的wxPython包
-
子类化wxPython应用程序类
- 定义一个应用程序的初始化方法
- 创建一个应用程序类的实例
- 进入这个应用程序的主事件循环
子类化wxPython application类
下面的代码演示了如何定义我们的wx.App的子类:
class MyApp(wx.App):
def OnInit(self):
frame = wx.Frame(parent=None, id=-1, title="Bare")
frame.Show()
return True上面我们定义了一个名为MyApp的子类。我们通常在OnInit()方法中创建frame对象。上面的wx.Frame接受三个参数,仅第一个是必须的,其余的都有默认值。 调用Show()方法使frame可见,否则不可见。
定义一个应用程序的初始化方法
注意:我们没有为我们的应用程序类定义一个__init__()方法。在Python中,这就意味着父方法wx.App.__init()__将在对象创建时被自动调用。这是一个好的事情。如果你定义你自己的__init__()方法,不要忘了调用其基类的__init()__方法,示例如下:
class App(wx.App):
def __init__(self):
wx.App.__init__(self)
如果你忘了这样做,wxPython将不被初始化并且你的OnInit()方法也将得不到调用。
创建一个应用程序实例并进入它的主事件循环
这步是创建wx.App子类的实例,并调用它的MainLoop()方法:
app = App()
app.MainLoop()一旦进入主事件循环,控制权将转交给wxPython。wxPython GUI程序主要响应用户的鼠标和键盘事件。当一个应用程序的所有框架被关闭后,这个app.MainLoop()方法将返回且程序退出。
本文介绍了创建wxPython程序的基本步骤,包括导入wxPython包、子类化wxPython应用程序类、定义初始化方法、创建应用程序实例及进入主事件循环。

被折叠的 条评论
为什么被折叠?



