wxPython 基础使用教程

wxPython是Python的的GUI图形库,允许开发者很方便的创建GUI用户界面。 wxPython是作为优秀的跨平台开源GUI库wxWidgets(C++)的Python封装和Python模块的方式提供给用户的。

就像wxWidgets,wxPython也是开源软件。wxPython可以在官方网站下载http://wxpython.org,网站提供了多个平台的二进制文件和源码下载。

Windons安装wxPython

下载安装包http://www.wxpython.org/download.php,支持32位和64位系统。wxPython的演示程序和例子下载wxPython3.0-win32-docs-demos.exe

Linux安装wxPython

Mac OS X安装wxPython

下载安装包http://www.wxpython.org/download.php。

第一个GUI应用

步骤:

  1. 导入wx模块
  2. 定义一个应用程序对象
  3. 创建wx.Frame主窗口对象,设置窗口标题和大小
  4. 尽管其它控价可以加入到wx.Frame窗口中,但是它们的布局不能管理,所以加入Panel对象
  5. 添加一个StaticText静态文本对象,在指定位置显示“Hello World”信息
  6. 通过Frame的show()方法显示窗体
  7. 进入应用程序事件主循环

上面代码执行输出如下:

firstwxpython

wxFrame是继承自wxWindow类的窗口类,窗口可以指定大小和位置。上面程序有一个标题和一个控件,如果需要可以加入菜单、工具栏、状态栏等组件。

wxPython的GUI可视化构建工具

手动用代码创建好看的GUI是很痛苦的,一个可视化GUI工具是必不可少的。支持wxPython的GUI工具有:

  • wxFormBuilder
  • wxDesigner
  • wxGlade
  • BoaConstructor
  • gui2py

下面简单介绍wxFormBuilder的使用

下载安装wxFormBuilder

wxpythongui

在窗口右侧设置项目名称,code_generation选项改为Python,(这个工具支持多种语言C++、Lua等)如下图:

newproject

点击Forms选择Frame,创建一个窗口:

wxpythonframe

添加一个Layout->wxBoxSizer,一个wxStaticText控件,两个wxTextControl,一个Button,如下:

framedone

在按钮上添加事件event(mySquare):

event

保存项目并按F8生成代码(最后生成2个文件):

filesave

现在可以在程序中使用刚才创建的GUI:

执行结果:

done

主要类

原版wxWidgets(C++)有大量的类,wxPython映射了wxWidgets里几乎所有的类。下面是类的继承关系:

wxwindow_class_hierarchy

wxgdiobject_class_hierarchy

各个类的详细使用请看文档http://docs.wxwidgets.org/2.8.4/wx_contents.html

事件处理示例

movewin

事件的分发

event1

文档窗口示例

docutment

画图API示例

darwing

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注