Wxpython入门笔记(一)

Wxpython是一个python的GUI包,相对较为简单,而且是跨平台的,个人认为各位科研人员也是可以学一下滴嘛~国内Wxpython教程不是很多,有幸拾得一本老外的Wxpython2.8 Application Development Cookbook,希望能够和大家一起从头学起。

简单介绍

Wxpython是链接wxWidgets包的一个跨平台库,编写的应用可以运行在Windows,Mac OS X,Linux等等平台上。

运用对象

App对象将可以初始化底层工具,所有的wxPython应用必须创建App对象。App需要维系MainLoop事件,其驱动着wxPython应用。
我们可以创建一个“Hello World”应用来作为我们的WxPython应用的开始:

Wxpython入门笔记(一)_第1张图片

其工作方式为应用对象我们创建了一个OnInit的方法,其弹出一个信息框,信息框内容为"Hello Wxpython",上标题为"wxApp".

创建主框架

对于大多数应用,你可能需要展示窗口给用户交互。在wxPython 中,最典型的窗口对象称之为Frame,具体的代码如下:

Wxpython入门笔记(一)_第2张图片

Frame为顶级窗口和大多数应用的容器,让我们验证我们的MyFrames类。我们创建一个Panel对象作为Frame的子窗口。你可以想象Panel作为一个盒子包含其它控件。
首先我们用OnInit方法创建入我们的App,我们创建一个MyFrame实例,粘贴None作为我们的第一个参数。这个参数被用来定义父窗口。因为这是我们主要窗口,所以设置为None表示没有父窗口。其次,我们采用SetTopWindow方法设置窗口位于顶部。最后,我们采用Show来列出Frame.

了解窗口层次结构

我们根据前面的代码进行稍微修改~


Wxpython入门笔记(一)_第3张图片

这包含了三个层次,最高层次为(Frames和Dialogs),接下来为(Panel和Notebooks,...),最后为Controls(Buttons,CheckBoxes,ComboBoxes,...)

对按钮事件进行设置

Wxpython入门笔记(一)_第4张图片

截图没有截好···正好截图截在死机的地方~

文章这部分的解释没用怎么看明白,说说我个人的理解吧
首先我们采用button.GetID获取信息,进一步采用Bind()函数进行绑定按钮和事件,然后定义一个OnButton函数,首先使用button = self.panel.FindWindowById(self.btnId)获取按钮,然后采用SetLabel在按钮事件触发后重新设置按钮标签。

设置位图

Wxpython入门笔记(一)_第5张图片

首先我们设置背景文件,用到了Bitmap函数来读取图片到内存,然后采用StaticBitmap函数来显示图片。
ico的话情况也是类似的,采用SetIcon函数来设置。

更多原创精彩内容敬请关注#生信杂谈#


Wxpython入门笔记(一)_第6张图片

你可能感兴趣的:(Wxpython入门笔记(一))