Skip to content

Latest commit

 

History

History
119 lines (63 loc) · 8.5 KB

File metadata and controls

119 lines (63 loc) · 8.5 KB

零、序言

在本书中,我们将使用 Python 编程语言探索图形用户界面(GUI)的美好世界。

在此过程中,我们将讨论网络、队列、OpenGL 图形库以及更多技术。

这是一本编程食谱。每一章都是独立的,并解释了特定的编程解决方案。

我们将非常简单地开始,但在本书中,我们将构建一个用 Python 3 编写的工作程序。

在本书中,我们还将应用一些设计模式并使用最佳实践。

本书假设读者具有一些使用 Python 编程语言的基本经验,但这并不是使用本书所必需的。

如果您是任何编程语言的经验丰富的程序员,您将有一个愉快的时间将您的技能扩展到使用 Python 编程 GUI!

你准备好了吗?

让我们开始我们的旅程…

这本书涵盖的内容

第 1 章创建 GUI 表单并添加小部件,解释了用 Python 开发第一个 GUI 的步骤。我们将从构建运行 GUI 应用程序所需的最低代码开始。然后,每个配方将不同的小部件添加到 GUI 表单中。

第 2 章布局管理探讨了如何安排小部件来创建 Python GUI。网格布局管理器是 tkinter 中内置的最重要的布局工具之一,我们将使用它。

第 3 章外观定制展示了几个如何创建良好的“外观”GUI 的示例。在实践层面上,我们将在帮助****中添加关于我们在其中一个菜谱中创建的菜单项的功能。

第 4 章数据和类讨论如何保存 GUI 显示的数据。我们将开始使用面向对象编程(OOP)来扩展 Python 的内置功能。

第 5 章Matplotlib 图表解释了如何创建美观的图表,直观地表示数据。根据数据源的格式,我们可以在同一图表中绘制一列或多列数据。

第 6 章线程和网络解释了如何使用线程、队列和网络连接扩展 Python GUI 的功能。这将告诉我们,我们的 GUI 完全不局限于 PC 的本地范围。

第 7 章通过我们的 GUI将数据存储在我们的 MySQL 数据库中,向我们展示了如何连接到 MySQL 数据库服务器。本章中的第一个配方将展示如何安装免费的 MySQL Server 社区版,在下面的配方中,我们将创建数据库、表,然后将数据加载到这些表中并修改这些数据。我们还将把数据从 MySQL 服务器读回 GUI。

第 8 章国际化和测试展示了如何通过在标签、按钮、选项卡和其他不同语言的小部件上显示文本来国际化我们的 GUI。我们将从简单开始,然后探索如何在设计级别为国际化准备 GUI。我们还将探索几种使用 Python 内置单元测试框架自动测试 GUI 的方法。

第 9 章使用 wxPython 库扩展我们的 GUI,介绍了另一个 Python GUI 工具包,该工具包目前未随 Python 提供。它被称为 wxPython,我们将使用凤凰城版本的 wxPython,该版本的设计目的是与 Python3 协同工作。

第 10 章使用 PyOpenGL 和 PyGLet创建惊人的 3D GUI,展示了如何通过赋予 GUI 真正的三维功能来改造我们的 GUI。我们将使用两个 Python 第三方包。PyOpenGL 是与 OpenGL 标准的 Python 绑定,OpenGL 标准是所有主要操作系统内置的图形库。这使生成的小部件具有本机的外观。PyGLet 就是我们将在本章中探讨的这种绑定。

第 11 章最佳实践探讨了不同的最佳实践,可以帮助我们高效地构建 GUI,并保持 GUI 的可维护性和可扩展性。最佳实践适用于任何好的代码,我们的 GUI 在设计和实现好的软件实践方面也不例外。

这本书你需要什么

本书所需的所有软件都可以在网上免费获得。这从 Python 3 本身开始,然后扩展到 Python 的附加模块。为了下载任何所需的软件,您需要一个工作的 Internet 连接。

这本书是给谁的

本书面向希望创建图形用户界面(GUI)的程序员。您可能会惊讶于我们通过使用 Python 编程语言创建漂亮、功能强大的 GUI 所取得的成就。Python 是一种很棒的、直观的编程语言,非常容易学习。

我想邀请你们现在就开始这段旅程。这将是非常有趣的!

公约

在这本书中,你会发现许多不同类型的文本可以区分不同类型的信息。下面是这些风格的一些例子,并解释了它们的含义。

文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名和用户输入如下所示:“使用 Python,我们可以使用class关键字而不是def关键字创建我们自己的类。”

代码块设置如下:

import tkinter as tk     # 1
win = tk.Tk()            # 2
win.title("Python GUI")  # 3
win.mainloop()           # 4

任何命令行输入或输出的编写方式如下:

pip install numpy-1.9.2+mkl-cp34-none-win_amd64.whl

新术语重要词语以粗体显示。例如,您在屏幕上看到的菜单或对话框中的文字如下所示:“接下来,我们将为菜单项添加功能,例如,单击退出菜单项时关闭主窗口,并显示帮助****关于对话框。”

警告或重要注释显示在这样的框中。

提示

提示和技巧如下所示。

读者反馈

我们欢迎读者的反馈。让我们知道你对这本书的看法你喜欢还是不喜欢。读者反馈对我们来说很重要,因为它可以帮助我们开发出您将真正从中获得最大收益的标题。

要向我们发送总体反馈,只需发送电子邮件<[feedback@packtpub.com](mailto:feedback@packtpub.com)>,并在邮件主题中提及该书的标题。

如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请参阅我们的作者指南www.packtpub.com/authors

客户支持

既然您是一本 Packt 图书的骄傲拥有者,我们有很多东西可以帮助您从购买中获得最大收益。

下载示例代码

您可以从您的账户下载示例代码文件 http://www.packtpub.com 对于您购买的所有 Packt 出版书籍。如果您在其他地方购买了本书,您可以访问http://www.packtpub.com/support 并注册,将文件直接通过电子邮件发送给您。

勘误表

虽然我们已尽一切努力确保内容的准确性,但错误确实会发生。如果您在我们的一本书中发现错误,可能是文本或代码中的错误,如果您能向我们报告,我们将不胜感激。通过这样做,您可以使其他读者免于沮丧,并帮助我们改进本书的后续版本。如果您发现任何错误,请访问进行报告 http://www.packtpub.com/submit-errata ,选择您的书籍,点击勘误表提交表链接,输入您勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上载到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请转至https://www.packtpub.com/books/content/support 并在搜索字段中输入图书名称。所需信息将出现在勘误表部分下。

盗版

在互联网上盗版版权材料是所有媒体都面临的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上发现任何形式的非法复制品,请立即向我们提供地址或网站名称,以便我们采取补救措施。

请致电<[copyright@packtpub.com](mailto:copyright@packtpub.com)>与我们联系,并提供可疑盗版材料的链接。

我们感谢您在保护我们的作者方面提供的帮助以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有任何问题,可以通过<[questions@packtpub.com](mailto:questions@packtpub.com)>与我们联系,我们将尽力解决该问题。