Skip to content

Latest commit

 

History

History
146 lines (83 loc) · 10.6 KB

File metadata and controls

146 lines (83 loc) · 10.6 KB

零、前言

响应灵敏的图形用户界面(GUI)可帮助您与应用交互,改善用户体验,并提高应用的效率。使用 Python,您可以访问精心设计的 GUI 框架,这些框架可用于构建独立于其他 GUI 的交互式 GUI。

本学习路径首先向您介绍 Tkinter 和 PyQt,然后指导您完成应用开发过程。当您通过添加更多小部件来扩展 GUI 时,您将使用网络、数据库和图形库来增强其功能。您还将学习如何连接到外部数据库和网络资源,测试代码,并使用异步编程最大限度地提高性能。在后面的章节中,您将了解如何使用 Tkinter 和 Qt5 的跨平台功能来维护跨平台的兼容性。您将能够模仿平台本机的外观,并构建可执行文件,以便在流行的计算平台上部署。

在本学习课程结束时,您将拥有设计和构建能够解决实际问题的高端 GUI 应用的技能和信心。

此学习路径包括以下 Packt 产品的内容:

  • Alan D.Moore 用 Tkinter 进行的 Python GUI 编程
  • B.M.Harwani 的Qt5 Python GUI 编程食谱

这本书是给谁的

如果您是一名中级 Python 程序员,希望通过使用 PyQT 和 Tkinter 在 Python 中编写强大的 GUI 来提高您的编码技能,那么这是一条理想的学习途径。要掌握本书中解释的概念,必须对 Python 语言有深刻的理解。

这本书涵盖的内容

第一章Tkinter 简介,向您介绍 Tkinter 库的基础知识,并指导您创建 Hello World 应用。它还将向您介绍 IDLE 作为 Tkinter 应用的一个示例。

第 2 章使用 Tkinter设计 GUI 应用,经历了将一组用户需求转化为我们可以实现的设计的过程。

第 3 章使用 Tkinter 和 ttk 小部件创建基本表单,向您展示如何创建将数据附加到 CSV 文件的基本数据输入表单。

第 4 章通过验证和自动化减少用户错误演示了如何自动填充和验证表单输入中的数据

第 5 章计划扩展我们的应用,让您熟悉如何将一个小脚本分解成多个文件,并构建一个可导入的 Python 模块。它还包含一些关于如何管理更大代码库的一般建议。

第 6 章创建带有菜单和 Tkinter 对话框的菜单,概述了使用 Tkinter 创建主菜单的过程。它还将展示几种内置对话框类型的使用,以实现公共菜单功能。

第 7 章使用 Treeview导航记录,详细介绍了使用 Tkinter Treeview 构建记录导航系统的过程,以及我们的应用从仅追加到完全读取、写入和更新功能的转换。

第 8 章通过样式和主题改善外观,告知您如何更改应用的颜色、字体和小部件样式,以及如何使用它们使应用更可用。

第 9 章使用单元测试创建自动测试,讨论如何使用自动单元测试和集成测试验证代码。

第 10 章使用 SQL改进数据存储,带您完成我们的应用从 CSV 平面文件到 SQL 数据存储的转换。您还将了解有关 SQL 和关系数据模型的所有信息。

第 11 章连接云介绍了如何使用 web 服务、FTP 等云服务下载上传数据。

第 12 章使用画布小部件可视化数据,教您如何使用 TkinterCanvas小部件创建可视化和动画。

第 13 章使用 Qt 组件创建用户界面,教您使用 Qt Designer 的某些基本小部件,以及如何显示欢迎消息和用户名。您将学习如何使用单选按钮从多个选项中选择一个,并使用复选框从多个选项中选择多个选项。

第 14 章事件处理–信号和插槽介绍了如何在任何小部件上发生特定事件时执行特定任务,以及如何将文本从一个行编辑小部件复制粘贴到另一个行编辑小部件,转换数据类型和制作小型计算器,并使用旋转框、滚动条和滑块。您还将学习使用列表小部件执行多个任务。

第 15 章理解 OOP 概念,讨论了面向对象编程的概念,如如何使用类、GUI 应用中的单继承、多级继承和多重继承。

第 16 章理解对话框探讨了某些对话框的使用,其中每个对话框用于获取不同类型的信息。您还将学习使用输入对话框从用户处获取输入。

第 17 章*了解布局,*说明如何利用水平布局、垂直布局、网格布局在水平、垂直和不同布局中排列小部件,以及如何使用表单布局在两列布局中排列小部件。

第 18 章网络化和管理大型文档演示了如何制作小型浏览器,在客户端和服务器之间建立连接,创建可固定和浮动的登录表单,以及使用 MDI 管理多个文档。此外,您还将学习如何使用 Tab 小部件在部分中显示信息,以及如何创建自定义菜单栏,在选择特定菜单项时调用不同的图形工具。

第 19 章数据库处理概述了如何管理 SQLite 数据库以保存信息以备将来使用。利用获得的知识,您将学习制作一个登录表单,检查用户的电子邮件地址和密码是否正确。

第 20 章使用图形说明如何在应用中显示某些图形。您还将学习如何创建自己的工具栏,其中包含可用于绘制不同图形的特定工具。

第 21 章实现动画介绍如何显示 2D 图形图像,点击按钮使球向下移动,使球反弹,使球按照指定曲线进行动画。

第 22 章使用谷歌地图展示如何使用谷歌 API 显示位置等信息。您将学习推导两个位置之间的距离,并根据输入的经度和纬度值在谷歌地图上显示位置。

充分利用这本书

本书希望您了解 Python 3 的基础知识。您应该知道如何使用内置类型和函数编写和运行简单脚本,如何定义自己的函数和类,以及如何从标准库导入模块。

如果您运行 Windows、macOS、Linux 甚至 BSD,您可以阅读本书。确保安装了 Python3 和 Tcl/Tk,并且您有一个舒适的编辑环境(我们建议使用 IDLE,因为它与 Python 一起提供并使用 Tkinter)。在后面的章节中,您需要访问 internet,以便安装 Python 包和 PostgreSQL 数据库。

要在 Android 设备上运行 Python 脚本,您需要在 Android 设备上安装 QPython。要使用 Kivy 库将 Python 脚本打包到 Android 的 APK 中,您需要安装 Kivy、一个虚拟盒和 Buildozer packager。类似地,要在 iOS 设备上运行 Python 脚本,您需要一台 macOS 机器和一些库工具,包括 Cython。

下载示例代码文件

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

您可以通过以下步骤下载代码文件:

  1. 登录或注册www.packt.com
  2. 选择“支持”选项卡。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下最新版本解压或解压缩文件夹:

  • WinRAR/7-Zip for Windows
  • 适用于 Mac 的 Zipeg/iZip/UnRarX
  • 适用于 Linux 的 7-Zip/PeaZip

该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/Python-GUI-Programming-A-Complete-Reference-Guide 如果代码有更新,它将在现有 GitHub 存储库中更新。

我们的丰富书籍和视频目录中还有其他代码包,请访问**https://github.com/PacktPublishing/** 。看看他们!

使用的惯例

本书中使用了许多文本约定。

CodeInText:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 句柄。下面是一个示例:“为每个数据字段确定适当的input小部件。”

代码块设置如下:

def has_five_or_less_chars(string):
    return len(string) <= 5

    wrapped_function = root.register(has_five_or_less_chars)
    vcmd = (wrapped_function, '%P')
    five_char_input = ttk.Entry(root, validate='key', validatecommand=vcmd)

当我们希望提请您注意代码块的特定部分时,相关行或项目以粗体显示:

[default]
exten => s,1,Dial(Zap/1|30)
exten => s,2,Voicemail(u100)
exten => s,102,Voicemail(b100)
exten => i,1,Voicemail(s0)

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

pip install --user psycopg2-binary

粗体:表示一个新术语、一个重要单词或您在屏幕上看到的单词。例如,菜单或对话框中的单词出现在文本中,如下所示。下面是一个示例:“安装后,启动 pgAdmin 并通过选择 Object | create | Login/Group Role 为自己创建一个新的管理员用户。”

Warnings or important notes appear like this. Tips and tricks appear like this.

联系

我们欢迎读者的反馈。

一般反馈:如果您对本书的任何方面有疑问,请在邮件主题中注明书名,并发送电子邮件至customercare@packtpub.com

勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packt.com/submit-errata,选择您的书籍,点击 errata 提交表单链接,并输入详细信息。

盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packt.com与我们联系,并提供该材料的链接。

如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com

评论

请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。

有关 Packt 的更多信息,请访问Packt.com