作者:Mark Hammond 和 Andy Robinson 翻译:limodou
另一种可供Python使用的GUI工具包叫做wxPython。目前这个工具对于Python环境来说还是陌生的,但正在Python开发者中间快速地流行起来。w xPython是Python扩展模块,它封装了wxWindows C++类库。
wxPython是一个为Python提供的交叉平台GUI框架工具,它在Windows平台上相当成熟。它是基于流行的wxWindows C++框架的Python,为GUI开发者提供了一种有吸引力的替代工具。
wxWindows
wxWindows是一个自由C++编程框架,被设计用来实现跨平台编程。wxWindows 2.0支持Windows 3.1/95/98/NT,Unix下支持GTK/Motif/Lesstif,还有正在开发中的Mac版本。其它系统正在考虑中。
wxWindows是一套库函数,允许C++应用程序只需要微量的源代码改动,就可在几种不同类型的机构上编译和运行。每一种支持的GUI都有一个对应的库( 象Motif或Windows)。同时为了实现GUI功能提供了通用的API,还为了处理一些通常要用到的操作系统设备提供了功能,应用程序可以根据需要使用或替换,这样就会节省大量的编码工作。基本数据结构,象字符串,链表,和哈希表也提供了。
控件的本地版本,通用对话框,和其它的窗口类型被用在支持它们的平台上。对于其它的平台,相适应的替代品使用wxWindows自身来生成。例如,在W in32平台上,使用了本地的列表控件,但是在GTK,具有相似功能的通用列表控件则是使用wxWindows类库创建的。
有经验的Windows程序员对于wxWindows对象模型会感到象是在家一样。类和原则的许多地方都很相似。例如,多文档界面,用GDI对象,如刷子,笔,在上下文设置上绘图,等等。
wxWdinws + Python = wxPython
wxPython是一个Python扩展模块,它提供了一套从wxWindows库到Python语言的绑定。换句话说,扩展模块允许Python程序员创建wxW indows类的实例,并且调用这些类的方法。
wxPython扩展模块试图近可能的将wxWindows的类的层次也镜像下来。这就是说在wxPython中有一个wxFrame的类,看上去,闻上去,尝上去和行为上几乎同C ++版本中的wxFrame一样。
wxPython与C++版本如此接近,这样wxPython文档的大多数实际上是对C++文档中,wxPython与之不同地方的注解。其中还包含了一系列的例子程序,和一系列帮助程序员开始使用w xPython的文档页