wxPython - 主要类


原来的wxWidgets(用C++编写)是一个巨大的类库。该库中的 GUI 类通过 wxPython 模块移植到 Python,该模块尝试尽可能接近地镜像原始 wxWidgets 库。因此,wxPython 中的 wx.Frame 类与 C++ 版本中的 wxFrame 类的Behave方式非常相似。

wxObject 是大多数类的基础。wxApp 的对象(wxPython 中的 wx.App)代表应用程序本身。生成 GUI 后,应用程序通过 MainLoop() 方法进入事件循环。下图描述了 wxPython 中最常用的 GUI 类的类层次结构。

wxWindow层次结构 wxGDI对象层次结构 wxSizer层次结构 wxButton层次结构
序列号 类别和描述
1 wx.Frame

wx.Frame 类有一个不带参数的默认构造函数。

2 wx.面板

wx.Panel 类通常放在 wxFrame 对象内。这个类也是继承自wxWindow类。

3 wx.静态文本

wx.StaticText 类对象提供了一个保存此类只读文本的控件。它可以被称为被动控制,因为它不产生任何事件。

4 文本控制

在 wxPython 中,wx.TextCtrl 类的对象可以实现此目的。它是一个可以显示和编辑文本的控件。

5 单选按钮和单选框

每个按钮(wx.RadioButton 类的对象)在圆形按钮旁边带有一个文本标签。wxPython API也由wx.RadioBox类组成。它的对象为组提供了边框和标签。

6 wx.CheckBox

复选框显示一个带标签的小矩形框。单击时,矩形内会出现一个复选标记,表示已做出选择。

7 组合框和选择类

wx.ComboBox 对象提供了一个可供选择的项目列表。它可以配置为下拉列表或永久显示。wxPython API包含一个wx.Choice类,它的对象也是一个下拉列表,它是永久只读的。

8 Wx 规格

Wx.Gauge 类对象显示垂直或水平条,以图形方式显示增量数量。

9 wx.滑块

wxPython API包含wx.Slider类。它提供与滚动条相同的功能。Slider 提供了一种方便的方法来通过滑块特定的 wx.EVT_SLIDER 事件绑定器来处理拖动手柄。

10 wx.MenuBar

顶层窗口标题栏正下方的水平栏被保留用于显示一系列菜单。它是wxPython API中wx.MenuBar类的一个对象。

11 wx.工具栏

如果wx.Toolbar对象的style参数设置为wx.TB_DOCKABLE,它就变成可停靠的。浮动工具栏也可以使用wxPython的AUIToolBar类来构造。

12 Wx.Dialog

尽管 Dialog 类对象看起来像 Frame,但它通常用作父框架顶部的弹出窗口。对话框的目标是从用户收集一些数据并将其发送到父框架。

13 wx.笔记本

wx.Notebook 小部件呈现一个选项卡式控件。框架中的一个 Notebook 对象具有一个或多个选项卡(称为“页面”),每个选项卡都有一个显示控件布局的面板。

14 wx.SplitterWindow

该类的对象是一个布局管理器,它包含两个子窗口,可以通过拖动它们之间的边界来动态更改其大小。Splitter 控件提供了一个手柄,可以拖动该手柄来调整控件的大小。

15 HTML窗口

wxHTML 库包含用于解析和显示 HTML 内容的类。尽管这并不是一个全功能的浏览器,但 wx.HtmlWindow 对象是一个通用的 HTML 查看器。

16 列表框和列表控件

wx.ListBox 小部件呈现一个可垂直滚动的字符串列表。默认情况下,列表中的单个项目是可选择的。ListCtrl 小部件是一个高度增强的列表显示和选择工具。多列列表可以在报告视图、列表视图或图标视图中显示。