wxPython 常用类库

原始的 wxWidgets 用C++编写,它是一个庞大的类库。使用wxPython模块将此库中的GUI类移植到Python中,该模块试图尽可能接近原始wxWidgets库。所以,wxPython中的wx.Frame类与其C++版本中的wxFrame类具有很大的相似性。

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

wxWindow层次结构wxGDIObject层次结构wxSizer层次结构wxButton层次结构

序号 类和描述
1 [wx.Frame] wx.Frame类有一个没有参数的默认构造函数。
2 [wx.Panel] wx.Panel类通常放在一个wxFrame对象中。这个类也是从wxWindow类继承而来的。
3 [wx.StaticText] wx.StaticText类对象呈现一个拥有这种只读文本的控件。它可以被称为被动控制,因为它不会产生任何事件。
4 [TextCtrl]  在wxPython中,wx.TextCtrl类的一个对象用于此目的。这是一个可以显示和编辑文本的控件。
5 [RadioButton&RadioBox] 每个按钮,一个wx.RadioButton类的对象,在圆形按钮旁边都有一个文本标签。wxPython API也由wx.RadioBox类组成。它的对象为组提供边框和标签。
6 [wx.CheckBox]  复选框显示一个小标签的矩形框。点击时,矩形内出现复选标记,表示已做出选择。
7 [组合框和选择类]  一个wx.ComboBox对象提供了一个可供选择的项目列表。它可以配置为下拉列表或永久显示。wxPython API包含一个wx.Choice类,其对象也是一个永久只读的下拉列表。
8 [Wx.Gauge]  Wx.Gauge类对象显示一个垂直或水平条,它以图形方式显示递增量。
9 [wx.Slider]  wxPython API包含wx.Slider类。它提供了与滚动条相同的功能。滑块提供了一种方便的方式来处理滑块特定的wx.EVT_SLIDER事件绑定器拖动的手柄。
10 [wx.MenuBar]  顶级窗口标题栏正下方的水平条被保留以显示一系列菜单。它是wxPython API中的wx.MenuBar类的一个对象。
11 [wx.Toolbar] 如果wx.Toolbar对象的样式参数设置为wx.TB_DOCKABLE,则它变为可停靠的。浮动工具栏也可以使用wxPython的AUIToolBar类来构造。
12 [的wx.Dialog]  虽然Dialog类对象看起来像一个Frame,但它通常用作父帧顶部的弹出窗口。Dialog的目标是从用户收集一些数据并将其发送到父框架。
13 [wx.Notebook]  wx.Notebook小部件提供了一个选项卡式控件。框架中的一个Notebook对象具有一个或多个选项卡(称为页面),每个选项卡都有一个显示控件布局的面板。
14 [wx.SplitterWindow] 这个类的对象是一个布局管理器,它拥有两个子窗口,它们的大小可以通过拖动它们之间的边界来动态更改。Splitter控件提供了一个可以拖动来调整控件大小的句柄。
15 [HTMLWindow]  wxHTML库包含用于解析和显示HTML内容的类。虽然这不是一个全功能的浏览器,但wx.HtmlWindow对象是一个通用的HTML查看器。
16 [ListBox&ListCtrl] wx.ListBox小部件提供了一个可垂直滚动的字符串列表。默认情况下,列表中的单个项目是可选的。ListCtrl小部件是一个高度增强的列表显示和选择工具。可以在报告视图,列表视图或图标视图中显示多个列的列表。

下一章:wxPython 事件处理

与以顺序方式执行的控制台模式应用程序不同,基于GUI的应用程序是事件驱动的。函数或方法响应用户的操作来执行,例如单击按钮,从集合或鼠标单击等中选择一个项目,称为事件。有关在应用程序运行时发生的事件的数据存储为从 ...