注:我是一个刚学python的菜鸟,这几天做大作业用了一下这个模块,感觉挺有用的,但是感觉找到学习的资料挺少的,所以给大家简单的介绍一下。
直接上图吧,做完的效果是这样的:
简单的pgu程序
先简要介绍一下pgu,其全称是Phil's Pygame Utilities, 是用来增强pygame库和工具的集合。它包含全功能的GUI,html渲染(可嵌入html代码),文档输出,文本渲染。
相信大家学习Python的想做游戏的时候都会想到用pygame库来做,但是pygame很难实现输入框,选择等功能,这样pgu的存在就弥补了这一项缺陷。
我当时是想做一个pygame查字典功能,结果一直实现不了输入功能,最后找到pygame下的pgu这样一个库,发现它不仅仅可以实现输入,还可以实现基本的gui窗口和基本功能,所以就采用pgu来做了。
它最新的库是pgu-0.18.
下载的地址:
http://pgu.googlecode.com/files/pgu-0.16.zip
学习地址:
http://www.pygame.org/project/108/
https://code.google.com/p/pgu/
安装:
在linux下用命令行进入pgu目录,使用命令“python setup.py install”?????这样就可以直接在linux安装这个库了。当然,你还得安装pygame,因为pgu的很多东西都要调用pygame库的。
Windows下尝试过安装它,本来直接运行setup.py就行啦,但是尝试失败了,可能它是‘not friendly with windows’。
各个文件的简介:
Readme.txt是作者关于pgu的一些介绍,包含作者邮箱,pgu的模块,文档等。
Changes.txt是各个版本增加和修改的信息。
License.txt是pgu的许可证。它是一个开源的,加入了GNU LESSER GENERAL PUBLIC LICENSE。
Manifest.in是包的引入,这个项目是使用distutils进行打包发布的。具体的我不太懂,大家可以自己去查一查。
Pkg-info是pgu的版本介绍。
Data文件夹包含几个pgu的主题,这里的几个主题感觉都不是很漂亮,不过是可以自己定义主题的。
Docs文件里包含pgu的文档书,但是感觉很多东西解释的不全。
Example文件夹是pgu的一些样例,这里我们可以借助example中的例子加上docs里各种类的参考学习。
Pgu和scripts都是实现整个pgu库的源代码。
Pgu常用模块简介:
App类,这个定义了最高级的程序窗口小部件。整个窗口运行都是通过这个类的对象运行的,其他的各种部件比如dialog窗口,input窗口等,最后都是加入这个App对象中的。
Dialog类,它是一个对话窗口,会带有一个窗口的标题以及关闭按钮。
Theme类,是一个主题接口,可以创建自己的主题。
Document类,是一个容器,可以向里面添加一些小部件。
Menus类,可以实现窗口菜单栏。
Input类,可以实现单行输入。
感想:真个pgu模块跟html结合的特别紧密,比如你定义一个table,然后就可以向里面添加一行tr,然后在tr中加列。跟编写html代码没太多区别。
其中很多的东西都是容器,支持其它部件的添加和布局。当然它还不是很完善,没有完整的函数库,功能也不是很强大,中文支持性差(我试了很长时间无法在input中输入中文以及将数据库中的东西显示在窗口中),但是用来做一个窗口程序还是很方便的。