本章是 wxPython 工具箱的简介。
wxPython 是用于创建桌面 GUI 应用的跨平台工具包。 wxPython 的主要作者是 Robin Dunn。 使用 wxPython,开发者可以在 Windows,Mac 和各种 Unix 系统上创建应用。 wxPython 是 wxWidgets 的包装,wxWidgets 是成熟的跨平台 C++ 库。
Python
Python 是一种成功的脚本语言。 它最初由 Guido van Rossum 开发。 它于 1991 年首次发布。Python 受 ABC 和 Haskell 编程语言的启发。 Python 是高级通用多平台解释型语言。 有些人喜欢将其称为动态语言。 这很容易学习。 Python 是一种简约语言。 它最明显的功能之一是它不使用分号或方括号。 Python 使用缩进代替。 今天,Python 由世界各地的一大批志愿者维护。
为了创建图形用户界面,Python 程序员可以在三个合适的选项中进行选择:PyGTK,wxPython 和 PyQt。
wxPython 模块
wxPython 是用于创建桌面 GUI 应用的跨平台工具包。 wxPython 的主要作者是 Robin Dunn。 使用 wxPython,开发者可以在 Windows,Mac 和各种 Unix 系统上创建应用。 wxPython 是 wxWidgets 的包装,wxWidgets 是成熟的跨平台 C++ 库。 wxPython 由五个基本模块组成。
图:wxPython 模块
控件模块提供了图形应用中常见的窗口小部件。 例如,按钮,工具栏或笔记本。 小部件在 Windows OS 下称为控件。核心模块由开发中使用的基本类组成。 这些类包括Object
类(它是所有类的母类),大小调整器(用于小部件布局),事件,基本几何类(如Point
和Rectangle
)。 图形设备接口(GDI)是用于绘制到小部件上的一组类。 此模块包含用于处理字体,颜色,画笔,笔或图像的类。其他模块包含各种其他类和模块功能。 这些类用于日志记录,应用配置,系统设置,与显示器或操纵杆一起使用。Windows 模块由构成应用的各种窗口组成,例如面板,对话框,框架或滚动窗口。
wxPython API
wxPython API 是一组方法和对象。 小部件是 GUI 应用的基本构建块。 在 Windows 小部件下是被调用控件。 我们可以将程序员大致分为两类:他们编写应用或库。 在我们的案例中,wxPython 是一个库,应用员使用该库对应用进行编码。 从技术上讲,wxPython 是名为 wxWidgets 的 C++ GUI API 的包装。 因此它不是本机 API。 即它不是直接用 Python 编写的。
在 wxPython 中,我们有很多小部件。 这些可以分为一些逻辑组。
基本小部件
这些小部件为派生的小部件提供基本功能。 他们被称为祖先。 它们通常不直接使用。
图:Base
小部件
顶级小部件
这些小部件彼此独立存在。
图:顶级小部件
容器
容器包含其他小部件。
图:容器
动态小部件
这些窗口小部件可以由用户编辑。
图:Dynamic
小部件
静态小部件
这些小部件显示信息。 它们不能由用户编辑。
图:Static
小部件
其他小工具
这些小部件在应用中实现状态栏,工具栏和菜单栏。
图:Other
小部件
继承
wxPython 中的小部件之间有特定的关系。 此关系是通过继承开发的。 继承是面向对象编程的关键部分。 小部件形成层次结构。 小部件可以继承其他小部件的功能。 现有的类称为基类,父级或祖先。 继承的小部件我们称为派生小部件,子小部件或后代。
图:继承图
假设我们在应用中使用按钮小部件。 按钮小部件继承自四个不同的基类。 最接近的类是wx.Control
类。 按钮小部件是一种小窗口。 屏幕上显示的所有小部件都是窗口。 因此,它们继承自wx.Window
类。 有些物体是不可见的。 例如,大小调整程序,设备上下文或区域设置对象。 也有一些可见的类,但它们不是 Windows。 例如,颜色对象,插入符号对象或光标对象。 并非所有的小部件都是控件。 例如wx.Dialog
不是一种控件。 控件是放置在称为容器的其他窗口小部件上的窗口小部件。 这就是为什么我们有一个单独的wx.Control
基类。
每个窗口都可以对事件做出反应。 按钮小部件也是如此。 通过单击按钮,我们启动wx.EVT_COMMAND_BUTTON_CLICKED
事件。 按钮小部件通过wx.Window
类继承wx.EvtHandler
。 每个响应事件的小部件都必须继承wx.EvtHandler
类。 最后,所有对象都继承自wx.Object
类。
这是 wxPython 的简介。