Skip to Content
《Python 编程》,第 4 版
book

《Python 编程》,第 4 版

by Mark Lutz
May 2025
Intermediate to advanced
1632 pages
29h 8m
Chinese
O'Reilly Media, Inc.
Book available
Content preview from 《Python 编程》,第 4 版

第 10 章 GUI 编码技术图形用户界面编码技术

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

"制造更好的捕鼠器"

本章将继续介绍如何使用 Python 和 tkinter 库构建图形用户界面,并将介绍一系列更高级的图形用户界面编程模式和技术。在前三章中,我们探索了 tkinter 本身的所有基础知识。在这里,我们的目标是将它们用于添加在大型程序中有用的高级结构。也就是说,我们的重点将转移到编写自己的代码,以实现基本 tkinter 工具包之外的实用程序--我们将在本书后面更完整的示例中发现这些实用程序。

本章我们将学习以下一些技术:

  • 在 "混合 "类中提供常用的图形用户界面操作

  • 从数据结构模板创建菜单和工具栏

  • 为命令行工具添加图形用户界面

  • 将输入和输出流重定向到图形用户界面部件

  • 即时重载图形用户界面回调处理程序

  • 封装顶级 Windows 界面并使其自动化

  • 在图形用户界面中使用线程和队列避免阻塞

  • 按需从非图形用户界面程序中弹出图形用户界面窗口

  • 使用套接字和管道将图形用户界面添加为独立程序

与本书的其他章节一样,本章具有双重目的--我们不仅要学习 GUI 编程,还要进一步了解 Python 的一般开发概念,如面向对象编程 (OOP) 和代码重用。正如我们将看到的那样,通过用 Python 对 GUI 工具进行编码,可以很容易地将它们应用到各种环境和程序中。

作为下一章的过渡,本章最后还将介绍 PyDemos 和 PyGadgets 启动器工具栏--用于启动大型 GUI 示例的图形用户界面。虽然它们的大部分代码都不属于本书,但我们将探索它们的结构,以帮助您在示例发布包中学习它们。

在开始之前,有两点需要注意:首先,请务必阅读本章的代码列表,以了解我们在叙述中不会介绍的细节。其次,虽然本章技术的小例子会在学习过程中出现,但更现实的应用还需要等待更现实的程序。我们将在下一章的大型示例和本书的其他部分中使用这些技术。事实上,我们会经常重复使用在这里开发的模块,作为本书中其他程序的工具;可重复使用的软件希望被重复使用。首先,让我们来做我们最擅长的事情,构建一些工具。

GuiMixin:常用工具混合类

如果你阅读了前三章,你可能会注意到,如果我们手工制作每个部件,用于构建非简单图形用户界面的代码可能会变得很长。如果我们坚持这种策略,图形用户界面编程往往会变成打字练习,或者至少是剪切和粘贴文本编辑器的操作练习。

小工具生成器功能

与手工执行每个步骤相比,更好的办法是尽可能多地封装或自动执行图形用户界面的构建过程。一种方法是对提供典型部件配置的函数进行编码,并在适用这些函数的情况下自动执行构建过程。例如,我们可以定义一个按钮函数来处理配置和打包细节,并支持我们绘制的大部分按钮。例 10-1提供了少量此类 widget 生成器调用。

例 10-1.PP4E\Gui\Tools\widgets.py
""" ############################################################################### wrap up widget construction in functions for easier use, based upon some assumptions (e.g., expansion); use **extras fkw args for width, font/color, etc., and repack result manually later to ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

实用 Python 数据整理与数据质量

实用 Python 数据整理与数据质量

Susan E. McGregor

Publisher Resources

ISBN: 9798341659612Supplemental Content