第 11 章 完整的图形用户界面程序完整的图形用户界面程序
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
"Python、开放源代码和卡玛洛"
本章通过展示一组实际的图形用户界面程序,结束了我们对使用 Python 及其标准 tkinter 库构建图形用户界面的研究。在前面四章中,我们了解了 tkinter 编程的所有基础知识。我们还学习了一些高级 GUI 编程技术,包括自动化工具、套接字和管道重定向以及线程。在这里,我们的重点是将这些小工具和技术结合起来,创建更有用的图形用户界面。我们将学习
- PyEdit
文本编辑程序
- PyPhoto
缩略图照片查看器
- PyView
图片幻灯片
- PyDraw
绘画计划
- PyClock
图形时钟
- PyToe
简单的井字游戏,只是为了好玩[38]
与第二部分第 6 章一样,本章中的示例也来自我自己的 Python 程序库,这些程序都是我非常常用的。 例如,我们将在这里见到的文本编辑器和时钟图形用户界面就是我机器上的日常工作工具。因为它们是用 Python 和 tkinter 编写的,所以在我的 Windows 和 Linux 机器上都能正常工作,在 Mac 上也应该能正常工作。
由于这些都是纯 Python 脚本,它们未来的发展完全取决于用户--一旦你掌握了 tkinter 界面,通过编辑 Python 代码来改变或增强这些程序的行为就轻而易举了。 虽然其中一些例子与市面上的程序类似(例如 PyEdit 让人想起 Windows 的记事本附件),但 Python 脚本的可移植性和几乎无限的可配置性可以说是一个决定性的优势。
其他章节中的例子
在本书后面的章节中,我们还将见到其他的 tkinter GUI 程序,它们为特定的应用领域增添了光彩。例如,以下较大的图形用户界面示例也会出现在后面的章节中:
较小的例子,包括 FTP 和文件传输图形用户界面,也出现在互联网部分。这些程序中的大多数也经常出现在我的桌面上。因为 GUI 库是通用工具,所以很少有领域不能受益于用 Python 和 tkinter 编写的易用、易编程和广泛移植的用户界面。
除了本书中的示例,您还可以找到更高级的 Python GUI 工具包,如第 7 章中介绍的 Pmw、Tix 和 ttk 包,其中一些系统以 tkinter 为基础,提供了复合组件,如笔记本标签窗口小部件、树视图和气球弹出式帮助。
在本书的下一部分,我们还将探讨在网络浏览器中而不是在 tkinter 中构建用户界面的程序--这是一种非常不同的用户界面体验方式。尽管网络浏览器界面在功能上一直受到限制,并受到网络延迟的拖累,但当与第 7 章开头提到的富互联网应用(RIA)工具包相结合时,如今基于浏览器的图形用户界面有时可以接近传统图形用户界面的实用性,尽管要付出软件复杂性和依赖性的巨大代价。
特别是对于高度交互和非繁琐的界面,独立/桌面 tkinter GUI 几乎可以成为你编写的任何 Python 程序不可或缺的功能。本章中的程序强调了 Python 和 tkinter 能带你走多远。
本章的战略
与本文所有案例研究章节一样,本章主要是通过示例来学习;这里列出的大多数程序的细节都很少。在学习过程中,我会突出重点,强调示例中介绍的 tkinter ...