作为Python开发者,你迟早都会用到图形用户界面来开发应用。幸运的是,你有很多选择,Python wifi GUI编程百科列举了超过30款跨平台框架,以及Pyjamas这样的,基于谷歌Web Toolkit端口的跨浏览器web开发工具。
那么如何在众多的Python GUI框架中选择呢?近日Dice的技术专家David Bolton为Python开发者推荐了Windows、Mac和Linux上最好的四款Python3开发工具(Gtk、Qt、Tk和wxWidgets)和五款框架(Kivy、PyQt、gui2Py,libavg以及wxPython)。以下是他的推荐理由:
Kivy
基于MIT授权的Kivy是最热门的Python开发框架之一,基于OPenGL ES 2,支持多平台(包括ANdroid/iOS)原生的多点触摸,是一个围绕主循环的事件驱动型框架,因此非常适合游戏开发。Kivy框架在处理从widgets到动画方面非常强大,如果你准备开发跨平台图形应用,或者仅仅需要一个非常强大的跨平台GUI,Kivy都是非常值得关注的。
PyQt
Qt是一个跨平台的多重授权C++框架,如果你开发的是开源项目,你就可以免费使用Qt,否则你需要购买一个商业版本。Qt存在已经很长时间了,曾经属于诺基亚。Qt是一个非常全面的工具和API库,为业界所广泛使用,支持包括移动在内的多个平台,包括GPS导航仪在内的很多设备都使用了Qt。
PyGUI
与Kivy和PyQt相比,PyGUI相对简单,而且只面向Unix、Mac和Windows平台。作为MVC框架,PyGUI的开发理念是能够更好更容易地融入Python生态系统。
PyGUI的一个主要目标就是将Python应用与平台底层的GUI代码撇清,让应用能够始终忠实显示平台的原生GUI,如果你想要快速上手学习Python GUI,那么PyGUI就是你的入门选择。
Libavg
与Kivy类似,libavg也采用了OpenGL并支持硬件加速。作为开源软件,Libavg可以运行在Linux、Mac OS X和Windows多个平台,功能加大丰富,例如其框架引擎可以处理数以千计的媒体对象(图片、文本、视频和摄像头输出),支持快速视频输出,并提供一个展示文本的markup系统,此外还支持blur、Chromakery等GPU着色效果。
wxPython
虽然wxPython尚未支持Python3,但资深的wxPython拥有成熟系统的教学资料,绝对值得推荐。xwPython基于wxWidgets,是一个C++写成的跨平台GUI库,支持多种文档格式,并提供文本编辑和字处理widgets。关于wxPython更多的介绍,去看看wiki吧。