GUI,是 Graphics User Interface(图形用户界面)的缩写。在 GUI 中,并不只是输入文本和返回文本,用户可以看到窗口、按钮、文本框等组件,还可以通过鼠标和键盘操作应用。
GUI 是程序交互的一种不同的方式,使用 GUI 开发的程序,和命令行程序一样,都具有输入数据、处理数据和输出数据这 3 个基本要素,只不过,使用 GUI 开发的程序,它们的输入和输出方式更丰富,更有趣。
值得一提的是,Python GUI 库有很多,下面给大家罗列了常用的几种 GUI 库。
wxPython 是一个跨平台的 GUI 工具集,以流行的 wxWidgets(原名 wxwindows)为基础,提供了良好的跨平台外观。简单来说,wxPython 在 Windows上调用 Windows 的本地组件、在 mac OS 上调用 Mac OS X 的本地组件、在 linux 上调用 Linux 的本地组件,这样可以让 GUI 程序在不同的平台上显示平台对应的风格。wxPython 是一个非常流行的跨平台的 GUI 库。其官方网址是http://www.wxpython.org/。
PyQt 是 Python 编程语言和 Qt 库的成功融合。Qt 本身是一个扩展的 C++ GUI 应用开发框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美运行,因此 PyQt 是建立在 Qt 基础上的 Python 包装。所以 PyQt 也能跨平台使用。
PyGTK 基于老版本的 GTK+2 的库提供绑定,借助于底层 GTK+2 所提供的各种可视化元素和组件,同样可以开发出在 GNOME 桌面系统上运行的软件,因此它主要适用于 Linux/UNIX 系统。PyGTK 对 GTK+2 的 C 语言进行了简单封装,提供了面向对象的编程接口。其官方网址是http://www.pygtk.org/。
Windows Pywin32 库允许我们像 VC 一样的形式使用 Python 开发 win32 应用。
Kivy 是一个开源库,它能够让使用相同源代码创建的程序实现跨平台运行。同时,Kivy 主要关注创新型用户界面开发,例如多点触摸应用程序。
Flexx 是一个纯 Python 工具包,可以用来创建图形化界面程序,还支持使用 Web 技术进行界面的渲染。
除了以上这些 Python GUI 库之外,Python 还有一个官方御用的 GUI 库,即 Tkinter 库,我们常用的 IDLE 就是用 Tkinter 开发的。
Tkinter 是 Python 标准 GUI 库,其最初是为 Tcl(这是一门工具命令语言,而不是某个电视机品牌)设计的,由于其良好的可移植性和灵活性,加上非常容易使用,因此逐渐被移植到很多脚本语言中,包括 Perl、Ruby 和 Python。