周海汉 /文
2010.1.9
wxPython写UI界面是比较爽的事情。python和wxWidgets都是跨平台的。因此,用wxPython写的应用程序的界面,可以在不同的操作系统有本地一样的界面。即windows用户看到的是windows界面,linux,mac用户看到的是linux和mac的界面。这比使用java,qt,tcl等写的界面会更符合用户的操作习惯一些。
除了直接调用wxPython API,还可以利用一些工具,wxGlade,BOA, XRCed等。前两者都支持所见即所得的拖放生成UI,XRCed是wxPython自带的UI生成工具,支持UI控件布局的逻辑,参数,事件设置,但非所见即所得的拖放。
本文是利用XRCed生成界面的简单示例。
1.进入XRCed, 创建wxFrame。(因为CSDN现在不能传图,只描述一下)
再创建一个横排的wxBoxSizer,里面放一个textCtrl, 一个竖排的wxBoxSizer,里面放一个按钮。在不选中任何组件时,将编码设为UTF-8. 否则对中文字符无法保存xrc文件。
配置gettext,以生成多种语言界面。(支持I18N)
设置完毕,保存为hello.xrc
2.自动生成hello_xrc.py
3.实现按钮点击,改变txt的内容。
找到def OnButton_btn_next(self, evt):
在下面添加:
self.txt_main = xrc.XRCCTRL(self, "txt_main")
self.txt_main.SetValue("你好")
4.完成可执行程序。
新建一个testhello.py
执行testhello.py,即可看到设计的界面。
参考:
xrced官网(只有源码下载):http://xrced.sourceforge.net/
wxpython的doc里包括xrced的可执行文件
http://www.wxpython.org/download.php
win32二进制版:
http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-docs-demos-2.8.10.1.exe
ubuntu:可以在库里安装wxpython时自带
金庆的专栏
http://blog.csdn.net/jq0123/archive/2008/03/24/2213855.aspx
http://blog.csdn.net/jq0123/archive/2008/03/26/2219836.aspx