第 7 章 图形用户界面图形用户界面
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
"看你的了,孩子"
对于大多数软件系统来说,图形用户界面(GUI)已经成为软件包的一个组成部分。即使图形用户界面(GUI)这个缩写词对你来说很陌生,但你很可能已经熟悉了这种界面--我们用来与软件程序交互的窗口、按钮和菜单。事实上,我们今天在电脑上做的大部分事情都是通过某种点击式图形界面完成的。从网络浏览器到系统工具,程序通常都带有图形用户界面组件,使其更加灵活易用。
在本书的这一部分,我们将通过学习使用tkinter模块编程的示例,了解如何让 Python 脚本也萌生出这样的图形界面。tkinter是一个可移植的图形用户界面库,是 Python 系统的标准组成部分,也是 Python 程序员使用最广泛的工具包。正如我们将看到的,由于 Python 语言的简洁性及其 GUI 库的强大功能,在 Python 脚本中对用户界面进行编程非常容易。另外,使用 tkinter 在 Python 中编程的图形用户界面可以自动移植到所有主流计算机系统。
图形用户界面编程主题
由于图形用户界面是的一个主要领域,因此在开始学习之前,我想就本书的这一部分再多说几句。为了让读者更容易理解,GUI 编程主题将在接下来的五章中分述:
本章以快速的 tkinter 教程开始,教授编码基础知识。本章特意保持了接口的简单性,以便您在学习下一章的接口之前掌握基础知识。另一方面,本章涵盖了所有基础知识:事件处理、
pack几何图形管理器、在图形用户界面中使用继承和组合等。正如我们将看到的,面向对象编程(OOP)并不是 tkinter 所必需的,但它能使图形用户界面结构化并可重复使用。第 8章和第 9章将带你游览 tkinter 部件集。[23]粗略地说,第 8 章介绍简单的部件,第 9 章介绍更高级的部件和相关工具。你所熟悉的大多数界面设备--滑块、菜单、对话框、图像和它们的亲戚--都会在这里出现。这两章并不是一个完整的 tkinter 参考文献(它本身就可以写满一本大书),但足以帮助您开始编写大量的 Python GUI。这两章中的示例主要集中在 widget 和 tkinter 工具上,但 Python 对代码重用的支持也在其中得到了探讨。
第 10 章涉及更高级的 GUI 编程技术,其中包括对使用 Python 自动执行常见 GUI 任务的技术的探讨。虽然 tkinter 是一个功能齐全的库,但少量可重用的 Python 代码就能使其界面更加强大和易用。
第 11 章最后介绍了一些完整的图形用户界面程序,这些程序使用了前四章中介绍的编码和 widget 技术。我们将学习如何实现文本编辑器、图像查看器和时钟等。
由于图形用户界面实际上是一种跨域工具,因此其他图形用户界面示例也将贯穿本书的其余部分。 例如,我们稍后将看到完整的电子邮件图形用户界面和计算器,以及基本的 FTP 客户端图形用户界面;其他示例,如树查看器和表格浏览器,可在本书的示例包中找到。第 11 章列出了本文中其他 tkinter 示例的前向指针。
在探索了图形用户界面之后,我们还将在第四部分学习如何使用运行在服务器上的 HTML 和 Python 脚本在网络浏览器中构建基本的用户界面。本章后面介绍的 RIA 等新技术以网络浏览器模式为基础,提供了更多的界面选择。
不过,现在我们的重点是更传统的图形用户界面--有些人称之为 "桌面 "应用程序,有些人称之为 "独立 "图形用户界面。不过,在本书的 ...