首页 > Python基础教程 > Tkinter 阅读:4,442

什么是GUI,Python GUI常用库汇总

< 上一页Tkinter Python Tkinter下一页 >

前面介绍的所有程序都是基于命令行的,这些程序只有专业的计算机人士才会使用,用户更青睐于有直观操作界面的程序,通过拖动鼠标、单击等动作就可以操作整个应用。实际上,Windows 之所以广为人知,其最初的吸引力就是来自它所提供的图形用户界面。

作为一个程序设计者,必须优先考虑用户的感受,一定要让用户感到“爽”,程序才会被需要、被使用,这样的程序才有价值。

GUI,是 Graphics User Interface(图形用户界面)的缩写。在 GUI 中,并不只是输入文本和返回文本,用户可以看到窗口、按钮、文本框等组件,还可以通过鼠标和键盘操作应用。

GUI 是程序交互的一种不同的方式,使用 GUI 开发的程序,和命令行程序一样,都具有输入数据、处理数据和输出数据这 3 个基本要素,只不过,使用 GUI 开发的程序,它们的输入和输出方式更丰富,更有趣。

值得一提的是,Python GUI 库有很多,表 1 给大家罗列了常用的几种 GUI 库。

表 1 Python GUI 常用库
库名 特点
wxPython wxPython 是一个跨平台的 GUI 工具集,以流行的 wxWidgets(原名 wxWindows)为基础,提供了良好的跨平台外观。简单来说,wxPython 在 Windows上调用 Windows 的本地组件、在 Mac OS 上调用 Mac OS X 的本地组件、在 Linux 上调用 Linux 的本地组件,这样可以让 GUI 程序在不同的平台上显示平台对应的风格。wxPython 是一个非常流行的跨平台的 GUI 库。其官方网址是http://www.wxpython.org/
PyQt PyQt 是 Python 编程语言和 Qt 库的成功融合。Qt 本身是一个扩展的 C++ GUI 应用开发框架,Qt 可以在 UNIX、Windows 和 Mac OS X 上完美运行,因此 PyQt 是建立在 Qt 基础上的 Python 包装。所以 PyQt 也能跨平台使用。
PyGTK PyGTK 基于老版本的 GTK+2 的库提供绑定,借助于底层 GTK+2 所提供的各种可视化元素和组件,同样可以开发出在 GNOME 桌面系统上运行的软件,因此它主要适用于 Linux/UNIX 系统。PyGTK 对 GTK+2 的 C 语言进行了简单封装,提供了面向对象的编程接口。其官方网址是http://www.pygtk.org/
Pywin32 Windows Pywin32 库允许我们像 VC 一样的形式使用 Python 开发 win32 应用。
Kivy Kivy 是一个开源库,它能够让使用相同源代码创建的程序实现跨平台运行。同时,Kivy 主要关注创新型用户界面开发,例如多点触摸应用程序。
Flexx Flexx 是一个纯 Python 工具包,可以用来创建图形化界面程序,还支持使用 Web 技术进行界面的渲染。

每个 GUI 库都有其优缺点,因此 GUI 库的选择取决于实现的应用场景。比如,考虑开发跨平台的图形用户界面,则推荐使用 PyQt 或 wsPython。


除了以上这些 Python GUI 库之外,Python 还有一个官方御用的 GUI 库,即 Tkinter 库,我们常用的 IDLE 就是用 Tkinter 开发的。

Tkinter 是 Python 标准 GUI 库,其最初是为 Tcl(这是一门工具命令语言,而不是某个电视机品牌)设计的,由于其良好的可移植性和灵活性,加上非常容易使用,因此逐渐被移植到很多脚本语言中,包括 Perl、Ruby 和 Python。

本章就来重点介绍 Tkinter 库。由于它是 Python 自带的 GUI 库,因此无须进行额外的下载安装,只要导入 tkinter 包即可。
< 上一页Tkinter Python Tkinter下一页 >