哪里可以得到wxPython
wxPython的最新版本可以在http://alldunn.com/wxPython/上找到。你可以从这个站点下载一个Win32系统的自安装软件,其中包含一个已经生成好的扩展模块,H TML帮助格式文档,和一组示例程序。
也可以从这个站点获得Linux RPM,wxPython源码,原始的HTML文档,和其它站点的链接,邮件列表,wxPython FAQ,等等。
如果你想自已从源代码创建wxPython,你也需要wxWindows源代码,可以从http://www.wxwindows.org/得到。
下一步去哪里?
实践证明,学习的最好方法就是动手,接着做实验,观察得到的结果。所以你应该下载和安装wxPython,启动你常用的文本编辑器,准备执行在下面几节所读到的东西。
一个简单的例子
应该对下面的小wxPython程序进行熟悉,当读到跟着的解释时,可以回过头来进行参考:
[myphp]
from wxPython.wx import *
class MyApp(wxApp):
def OnInit(self):
frame = wxFrame(NULL, -1, "Hello from wxPython")
frame.Show(true)
self.SetTopWindow(frame)
return true
app = MyApp(0)
app.MainLoop()
[/myphp]
当运行这个程序时,你应该看到象图1的窗口显示出来。
图1. 一个基本的wxPython程序
要做的第一件事情就是导入整个wxPython库,使用 from wxPython import * 语句。这是编wxPython程序的通常习惯,但是你可以根据需要明确地执行更多限制的导入。
每一个wxPython应用程序需要从wxApp派生出一个类,并且为其提供一个OnInit 方法。框架(即窗口)会调用这个方法作为自身初始化序列的一部分。Oninit通常是用来创建窗口,和对于程序开始运行完全必需的操作。在例子中,你创建了一个没有父亲的框架,标题是“H ello from wxPython ”,然后显示它。我们
也可以在它的构造函数中为框架指定位置和大小,但是因为没有,所以这里使用了缺省值。OnInit方法的最后两行可能对于所有应用程序来说都是一样的。S etTopWindow方法告诉wxWindows ,这个框架是应用程序主框架其中之一(在这个例子中只有一个),并且你返回true来表明成功。当所有项层窗口实关闭,应用程序结束。
脚本的最后两行可能又是对于所有的wxPython应用程序是一样的。你创建了一个应用程序类的实例,并且调用它的MainLoop方法。Ma inLoop是应用程序的心脏:在这里事情被处理,并且被发送到各个窗口,当最后一个窗口关闭后,它返回。幸运的是,wxWindows对你屏蔽了各种G UI工具包在事件处理上的不同。