Python 图形界面(GUI)设计

不要问我为什么要用 Python 来做这种事,我回到“高兴咋地”也不是不可以,总之好奇有没有好的解决方案。逛了一圈下来,总体上来说,Python 图形界面有以下几个可行度比较高的解决方案。

 

下面的内容太久了,现在 PyQt 已经是最流行的 Python 图形界面选择,很多大型项目都转向了 PyQt,资源也挺多,推荐使用。

tkInter 还是在官方包里,如果对 tcl/tk 熟,做点简单界面也挺快的。如果不熟,不建议学习。

======

 

1. pyside

为什么要把它写第一个呢?因为已经接触过 Qt,所以,总体来讲,感觉它更亲一点。没错,它就是 pyQt 的 LGPL 版本(Qt官方的介绍是,Python for Qt)。

这个框架最早是由 Nokia 的芒果团队做完的,但是,众所周知的原因,这个团队已经消失了。目前从找到的资料来看,Qt 重新接管了它的开发工作,而且处于活跃状态。但是也不见有人推广啊。。。据说,Matplotlib,PhotoGrabber,Wing IDE,Lucas Chess,Fminer都是用 pyside 来做的,貌似很好用的样子(别问我他们是干嘛的,我是 copy 来的)。

Nokia 的团队开发的哟!是为了手机开发的哟!那自然天然的支持 Qt Mobile Interface 了。

它的主页:http://qt-project.org/wiki/PySide/

这两位兄台对 pyside 做了不错的介绍:

1) http://blog.sina.com.cn/s/blog_62c832270101dca6.html

2)http://www.cnblogs.com/goodhacker/p/3984377.html

 

2. tkInter

这是 Python 做的 tk/tcl 的壳。tk/tcl 有着广泛的应用,据说用户群体很庞大。而且, tcl8 以后,用它做出来的 App 已经可以具备系统原生的效果了,不再是那种丑丑的界面。

这个是 Python 官方承认的标准 GUI 方案(官方说 “de-facto standard“,执行上的标准,我们还没承认?),资料也比较多,自行了解吧,这里只做备忘。

总体感觉不大好,虽然说也支持多种平台,但是还是呵呵了。

主页:https://wiki.python.org/moin/TkInter/

 

3. PyGTK

偶然发现,LinuxMint 的好多页面实现,都用的是 PyGTK。操作系统级别的实现,应该是会比较在乎效率的?所以,对 PyGTK 做了一下简单了解。

PyGTK 的所有可是功能都是调用 GTK+ library 来实现的,所以,据官方介绍, PyGTK 是可以开发全功能的 GUI 程序的。而且, GTK 和 Python 都是跨平台的缘故,PyGTK 无需任何修改,就可以随意在任意操作系统上运行(安装过 GTK 库的话)。

此外,因为 PyGTK 的主要设计目标是使用简单和快速开发(ease of use and rapid prototyping)。此外,PyGTK 还有一流的处理本地化语言的独特功能。

PyGTK 使用 LGPL license。

项目主页:http://www.pygtk.org/

 

4. wxPython

wxWidget 的 Python 版本。wxWidget 的知名度也就不必介绍了,似乎 wxPython 也比 tkinter 更受欢迎。wxPython 的官方站更是吊炸天的挂着一句“Why the hell hasn't wxPython become the standard GUI for Python yet?”(现已消失,怂了?)。

tkinter 都没兴趣了解, wxWidget 也就被呵呵了。不过做小三能做这么有名,也自然有过人之处,自然不能榜上无名。

主页:http://www.wxpython.org

posted @ 2015-03-28 09:10  Biiigfish  阅读(79796)  评论(0编辑  收藏  举报