使用Python很长时间了,一直以来想写一些有关WxPython的文章,最近有时间准备对WxPython的使用作一次系统的整理。我将在随后的日志中逐步增加对WxPython应用的介绍,有关WxPyton环境的配置我就不多讲了,大家可以看我的博客。
记得我看的第一本介绍编程的书是通过一个Hello Wold例子开始的,我也不免俗套,好了,废话少说让我们开始吧。
<!--[if !supportLists]-->1、 <!--[endif]-->Frame介绍
我学习编程习惯从例子开始,让自己脑子里先有个大致的映像再开始,下是一个Frame窗口的例子,非常简单只有几行代码,但是这已经是一个完整的可以运行的程序了:
|
把上面的代码保存成MyFrame.py。在命令行中执行 python MyFrame.py。你应该可以看到一个窗口,当然什么都没有。
好了,有了上面的代码我们来看看它是怎么执行的, 其中if __name__=="__main__":是程序执行的开始部分,你如果接触过,C++或者Java它相当于Main函数部分。具体细节就不说了,这属于Python语法的部分。Wx.PySimpleApp是wxPython中执行应用程序的一个封装,我会在后面讲到,这里你记住它是应用程序执行的入口就可以了。
好下面关键的部分到了,MyFrame是我们创建的一个Python类,注意它的__init__函数,它是这个类的构造函数,wx.Frame.__init__()方法用于创建一个窗口,也就是我们看到的窗口。它创建了一个独立的大小为300*400,窗口标题为“Hello World”。好了讲到这里你大致明白了怎么创建一个简单的窗口,让我们稍微再深入一点。看看窗口还有哪些属性和方法。
<!--[if !supportLists]-->2、 <!--[endif]-->Frame深入
WxPython的Frame来自wx这个包,就像我们在代码中作的那样,你需要首先导入wx包(import wx)。一个窗口一般都会有菜单、工具栏和状态栏,你可以通过CreateStatusBar/CreateToolBar等方法来创建他们。在讲这些之前首先来看看这个类的构造函数__init__,这个函数原型如下:
wxFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame")
参数名 | 解释 |
parent | 这个参数指明了窗口的父窗口是什么,可以是Null |
id | 窗口的唯一表示,缺省为-1 |
title | 窗口的标题 |
pos | 窗口的位置,缺省为(-1,-1),具体显示位置根据不同的操作系统平台而异。 |
size | 窗口的大小,缺省为(-1,-1),具体显示大小根据不同的操作系统平台而异。 |
style | 窗口的风格,比如是否有关闭按钮,是否可以最大化等等,随后会详细讲述。 |
Name | 窗口的名称,通常被用于与资源文件关联,可以利用它来进行“皮肤”设置。 |