单人小品表演剧本搞笑:我的Python GUI之旅 - 江湖 - 51CTO技术博客
来源:百度文库 编辑:偶看新闻 时间:2024/05/03 05:13:56
我的Python GUI之旅 2008-01-05 15:36:10标签:GUI Python wxGlade boa 版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。 最近用python帮朋友写一个读写二进制文件的程序,很快就写好了控制台程序。用过之后感觉不方便,因为涉及到数据检索,在控制台下执行这样的操作太痛苦了,于是便有了编写窗口程序的需求。我也因此开始了我的python gui之旅。 因为用python的时间不长,对其gui编程没有任何了解,说实话一开始就没打算用python写窗口程序,我觉得这不是python的强项。但世界是在变化着的,呵呵,闲话少叙,进入正题。 经过一番google,首先进入我视野的是pyqt和wxPython,pyqt是基于目前比较成熟的商业套件Qt的,并且有比较好的开发环境Eric(正是这一点吸引了我)。于是下载qt、pyqt、Eric,好麻烦哦。总算下完了,执行安装吧,蹦出来一提示:“需要安装g++编译器”。太郁闷了,我不就是想开发一个简单的窗口程序嘛,至于这么麻烦嘛,放弃! 于是转向wxPython,下载完成后执行安装,很快完成。但是却没有找到启动开发环境的地方,反复琢磨才弄明白,wxPython只是提供gui开发的基础库,并没有开发环境。又经过一番搜索找到了几个基于wxPython的工具:boa、wxGlade、wxWidget。 首先使用boa,这个工具的界面很像delphi,集成了UI设计和代码编辑,但是好像不太稳定,不定什么时候就Crash了,最要命的还是它的代码Auto-Complete功能使用的快捷键是Ctrl+Space,并且没有地方进行修改。后果可想而知,除非用菜单进行AC,总不至于让我修改使用过了N多年的输入法快捷键吧。放弃! 目光转向wxGlade和wxWidgit,这哥俩不亏都是姓“wx”的,都是只能用来设计UI,不具备代码编辑功能,因此不能算是IDE,功能好像也都差不多。先装了个wxGlade,在没有文档没有外援的情况下,使用了一下,就一个体会:“控件简直没法定位,没法用!”。于是又装了个wxWidgit,感觉好像跟wxGlade差不多,试用了一下就Uninstall了。 转了一圈也没有找到个称手的工具,我的心那是哇凉哇凉的!但是程序还得写啊,又一番猛search,发现大家对这个wxGlade的评价还挺好,甚至有人推荐使用。看来是我了解不够,于是又硬着头皮把我已经卸载的wxGlade请回来,仔细了解这个工具的功能,并且做了些尝试,发现用起来确实还挺好,控件的定位只要用好sizer控件,还是挺方便的。但有一个问题,中文支持不太好,如果使用过了中文,再次载入设计好的界面文件时会出错,可能是我了解的还不够深入吧。 简单介绍一下wxGlade的使用。 进入程序后,主界面有三个窗口,如下图所示:
首先点击控件窗口的第一个图标,添加一个Frame,接着就可以向新建的Frame中添加控件了。控件的布局使用sizer进行控制,也就是控件窗口里最后两个控件(即BoxSizer和GridSizer)。 先考虑好界面的布局的大概的样子,让后向Frame里添加sizer,把布局搭建出来,每个sizer里可以包含多个solt,一个solt里只能放一个控件,当然sizer里的solt是可以随时添加和移除的,sizer里也可以包含子seizer。使用过程中多体会试验就好啦。 界面搭建好后,设置一下输出路径,使用快捷键Ctrl+G就可以生成py代码了。执行一下,界面是不是出来了呢。 搭建好的界面可以存成文件,以便进行修改时直接就可以调出来之前的设计。不过修改有一点麻烦,因为在界面搭建好后肯定会增加代码,这个时候重新生成的代码,就需要自己手工抠出来新加入的控件的代码,然后填到程序里。这一点也导致wxGlade只能做一些界面比较简单的程序,如果结构很复杂,在写了很多代码后要修改界面,肯定是很痛苦的事情。 不过话说回来,我觉得如果要开发商业性的桌面程序,py+wxGlade目前还是不能够胜任的,但如果用来开发一些实用性的小程序,凭着wxGlade的简单和python的强大、灵活还是很有杀伤力的。 最后秀一下我写地程序的界面,臭美一下。
首先点击控件窗口的第一个图标,添加一个Frame,接着就可以向新建的Frame中添加控件了。控件的布局使用sizer进行控制,也就是控件窗口里最后两个控件(即BoxSizer和GridSizer)。 先考虑好界面的布局的大概的样子,让后向Frame里添加sizer,把布局搭建出来,每个sizer里可以包含多个solt,一个solt里只能放一个控件,当然sizer里的solt是可以随时添加和移除的,sizer里也可以包含子seizer。使用过程中多体会试验就好啦。 界面搭建好后,设置一下输出路径,使用快捷键Ctrl+G就可以生成py代码了。执行一下,界面是不是出来了呢。 搭建好的界面可以存成文件,以便进行修改时直接就可以调出来之前的设计。不过修改有一点麻烦,因为在界面搭建好后肯定会增加代码,这个时候重新生成的代码,就需要自己手工抠出来新加入的控件的代码,然后填到程序里。这一点也导致wxGlade只能做一些界面比较简单的程序,如果结构很复杂,在写了很多代码后要修改界面,肯定是很痛苦的事情。 不过话说回来,我觉得如果要开发商业性的桌面程序,py+wxGlade目前还是不能够胜任的,但如果用来开发一些实用性的小程序,凭着wxGlade的简单和python的强大、灵活还是很有杀伤力的。 最后秀一下我写地程序的界面,臭美一下。
本文出自 “江湖” 博客,转载请与作者联系!
Python的用途是什么
Python的问题
python的问题!!!!!!
python的问题,急!!!!!
python的安装问题!!!
java 的 gui的dialog!!!!!郁闷死我了!!!!!!!
java 的 gui的dialog!!!!!郁闷死我了!!!!!!!
关于GUI的表达方式
关于MATLAB的GUI
CS的GUI备份
关于Java的GUI
Hscan Gui Version 1.20的下载或直接传给我。
Hscan Gui Version 1.20的下载或直接传给我。
Hscan Gui Version 1.20的下载或直接传给我。
python的日期类型转换
初学python的因惑``??
谁有中文版的Python
哪里有Python的学习?
请教python的简单问题
【求助】谁能为我找一篇关于java的GUI方面的英文文章?
求Hscan Gui Version 1.20的下载或直接传给我。
求Hscan Gui Version 1.20的下载或直接传给我。
求一个学习Python的好网站~!
学习这个Python的相关书籍