零基础学Python GUI设计:PyQt(升级版)
  • 推荐0
  • 收藏0
  • 浏览59

零基础学Python GUI设计:PyQt(升级版)

明日科技 编著 (作者)  张彦红 (责任编辑)

  • 书  号:9787121472664
  • 出版日期:2024-03-01
  • 页  数:286
  • 开  本:16(240*190)
  • 出版状态:上市销售
  • 维护人:博文小编
《零基础学PythonGUI设计:PyQt(升级版)》以开发Python窗口程序的PyQt6模块为主线,全面介绍了使用PyQt6设计PythonGUI程序的各方面技术。全书共分为15章,内容涉及Python与PyQt6,搭建开发环境,第一个PyQt6窗口程序,PyQt6窗口设计基础,PyQt6常用控件,PyQt6高级控件,菜单、工具栏和状态栏,对话框应用,布局管理,数据库操作,文件操作,PyQt6绘图技术,多线程编程,PyQt6程序的打包发布等。本书从用户学习与应用的角度出发,将所有的知识都结合具体实例进行讲解,对涉及的程序代码给出详细的注释,并且运用大量的示意图和实例应用,力求打造轻松、零压力的学习氛围,以便读者轻松掌握使用PyQt6进行Python GUI应用开发的精髓,快速提高开发技能,拓宽职场道路,最后将PyQt6开发知识应用于实际项目中,以便读者体验项目开发的全过程。
本书列举了大量的小型实例、综合实例和实战项目案例,所有实例和项目都提供了配套的源码,力求为读者打造一本结合“基础入门+应用开发+实战项目”的Python PyQt6开发图书。
本书内容详尽,实例丰富,项目经典,非常适合作为PyQt6编程初学者的学习用书,也适合作为Python开发人员的查阅、参考资料。另外,对于从C++、C#、Java等编程语言转入Python的开发人员也有很高的参考价值。
基于开发Python窗口程序的PyQt6模块,附赠58个实例源码、69个e学码词条、PPT课件、PyQt编程专属魔卡、Python基础知识视频讲解等
明日科技是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司。其编写的教程既注重选取软件开发中的必需、常用内容,又注重内容的易学易用以及相关知识的拓展,深受读者喜爱。同时,其编写的教程多次荣获"全行业优秀畅销品种”"中国大学出版社图书奖优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
前言
“零基础学”系列图书于2017年8月首次面世,该系列图书是国内全彩印刷的软件开发类图书的先行者,书中的代码颜色及程序效果与开发环境基本保持一致,真正做到让读者在看书学习与实际编码间无缝切换;而且因编写细致、易学实用及配备海量学习资源,在软件开发类图书市场上产生了很大反响。自出版以来,系列图书迄今已加印百余次,累计销量达50多万册,不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。
“零基础学”系列图书升级版在继承前一版优点的基础上,将开发环境和工具更新为目前最新版本,并结合当今的市场需要,进一步对图书品种进行了增补,对相关内容进行了更新、优化,更适合读者学习。同时,为了方便教学使用,本系列图书全部提供配套教学PPT课件。另外,针对AI技术在软件开发领域,特别是在自动化测试、代码生成和优化等方面的应用,我们专门为本系列图书开发了一个微视频课程——“AI辅助编程”,以帮助读者更好地学习编程。
升级版包括10本书:《零基础学Python》(升级版)、《零基础学C语言》(升级版)、《零基础学Java》(升级版)、《零基础学C++》(升级版)、《零基础学C#》(升级版)、《零基础学Python数据分析》(升级版)、《零基础学Python GUI设计:PyQt》(升级版)、《零基础学Python GUI设计:tkinter》(升级版)、《零基础学SQL》(升级版)、《零基础学Python网络爬虫》(升级版)。
在大数据、人工智能应用越来越普遍的今天,Python 可以说是当下世界上最热门、应用最广泛的编程语言之一,Qt 是世界上最强大的 GUI(图形用户界面)程序开发库之一。而 PyQt6 是基于 Digia公司强大的图形程序框架 Qt 的 Python 接口,由一组 Python 模块构成,它是 Python 开发人员最常用的开发 GUI 窗体项目的工具包。我们知道,Python 的应用广泛,人工智能、爬虫、数据分析、游戏、自动化运维等各个方面,无处不见其身影,但这些开发都需要界面进行支撑,而 PyQt6 作为最新、最强大的 GUI 开发库之一,无疑成了 Python 开发人员的必备基础。
本书内容
全书共分为 15 章,提供了 PyQt6 从入门到实战项目开发所必备的各类知识。本书的知识结构详见书中图示。
本书特色(如何使用本书)
1.书网合一:—扫描书中的e学码,进行知识点拓展阅读(详见书中图示)。
2.源码提供:配套资源包提供书中示例源码(扫描封底读者服务二维码获取)。
3.AI辅助编程:提供微视频课程,助你利用AI辅助编程。
近几年,AI 技术已经被广泛应用于软件开发领域,特别是在自动化测试、代码生成和优化等方面。例如,AI 可以通过分析大量的代码库来识别常见的模式和结构,并根据这些模式和结构生成新的代码。此外,AI 还可以通过学习程序员的编程习惯和风格,提供更加个性化的建议和推荐。尽管 AI 尚不能完全取代程序员,但利用 AI 辅助编程,可以帮助程序员提高工作效率。本系列图书配套的“如何用AI 辅助编程”微视频课程可以给读者一些启发。
4.全彩印刷:还原真实开发环境,让编程学习更轻松。
5.作者答疑:每本书均配有“读者服务”微信群,作者会在群里解答读者的问题。
6.海量资源:配有Python基础知识视频、Python安装教程、PPT课件等,即查即练,方便拓展学习。如何获得答疑支持和配套资源包(详见图书封底提示)

读者对象
Python 零基础用户
Python 编程爱好者
参加毕业设计的学生
相关培训机构的老师和学生
大、中专院校的老师和学生
初、中、高级程序开发人员
由 C++、C#、Java 等编程语言转入 Python 的开发者
需要查阅相关知识和查看参考资料的开发人员

在编写本书的过程中,编者本着科学、严谨的态度,力求精益求精,但疏漏之处在所难免,敬请广大读者批评指正。
感谢您阅读本书,希望本书能成为您编程路上的领航者。
编 者
2024年1月

目录

第1章 Python与PyQt6 1
e学码词条:4个
1.1 Python语言介绍 2
1.1.1 了解Python 2
1.1.2 Python的版本 2
1.1.3 Python的应用领域 2
1.2 GUI与PyQt6 3
1.2.1 GUI简介 3
1.2.2 什么是PyQt6 4
1.2.3 PyQt6与Qt的关系 5
1.2.4 PyQt6的主要模块 6
1.2.5 其他常用GUI开发库 8
第2章 搭建开发环境 9
e学码词条:4个
2.1 Python的下载与安装 10
2.1.1 Python开发环境概述 10
2.1.2 下载Python 10
2.1.3 安装Python 11
2.1.4 测试Python是否安装成功 13
2.1.5 Python安装失败的解决方法 13
2.2 PyCharm开发工具的下载与安装 15
2.2.1 下载PyCharm 15
2.2.2 安装PyCharm 16
2.2.3 启动并配置PyCharm 17
2.3 在PyCharm中配置PyQt6环境 18
2.3.1 安装PyQt6及设计器 18
2.3.2 配置PyQt6设计器及转换工具 22
第3章 第一个PyQt6窗口程序 25
e学码词条:4个
3.1 认识Qt Designer 25
3.1.1 几种常用的窗口类型 26
3.1.2 熟悉Qt Designer窗口区域 28
3.2 使用Qt Designer创建窗口 32
3.2.1 MainWindow介绍 32
3.2.2 创建主窗口 32
3.2.3 设计主窗口 32
3.2.4 预览窗口效果 33
3.2.5 查看Python代码 34
3.2.6 将.ui文件转换为.py文件 35
3.2.7 运行主窗口 35
第4章 PyQt6窗口设计基础 37
精彩实例:2个
e学码词条:5个
4.1 窗口属性列表 37
4.2 窗口的个性化设置 39
4.2.1 基本属性设置 39
4.2.2 更换窗口的图标 40
4.2.3 设置窗口的背景 41
4.2.4 控制窗口透明度 44
4.2.5 设置窗口样式 44
4.3 信号与槽 46
4.3.1 信号与槽的基本概念 46
4.3.2 编辑信号与槽 47
4.3.3 自定义槽 49
实例4.1 信号与自定义槽的绑定 49
4.3.4 将自定义槽连接到信号 49
4.4 多窗口设计 50
4.4.1 多窗口的建立 50
实例4.2 创建并打开多窗口 50
4.4.2 设置启动窗口 51
4.4.3 窗口之间的关联 51
4.5 UI与逻辑代码分离 52
第5章 PyQt6常用控件 54
精彩实例:17个
e学码词条:14个
5.1 控件概述 55
5.1.1 认识控件 55
5.1.2 控件的命名规范 56
5.2 文本类控件 57
5.2.1 Label:标签控件 57
实例5.1 Label控件的使用 57
5.2.2 LineEdit:单行文本框 60
实例5.2 设计包括用户名和密码的登录窗口 61
5.2.3 TextEdit:多行文本框 62
实例5.3 多行文本和HTML文本的对比显示 62
5.2.4 SpinBox:整数数字选择控件 63
实例5.4 获取SpinBox中选择的数字 63
5.2.5 DoubleSpinBox:小数数字选择控件 64
实例5.5 设置DoubleSpinBox中的小数位数并获取选择的数字 64
5.2.6 LCDNumber:液晶数字显示控件 65
实例5.6 液晶显示屏中的数字显示 66
5.3 按钮类控件 67
5.3.1 PushButton:按钮 67
实例5.7 制作登录窗口 67
5.3.2 ToolButton:工具按钮 69
实例5.8 设计一个向上箭头的工具按钮 70
5.3.3 CommandLinkButton:命令链接按钮 70
实例5.9 命令链接按钮的使用 71
5.3.4 RadioButton:单选按钮 71
实例5.10 选择用户登录角色 71
5.3.5 CheckBox:复选框 73
实例5.11 设置用户权限 74
5.4 选择列表类控件 75
5.4.1 ComboBox:下拉组合框 75
实例5.12 在下拉列表中选择职位 76
5.4.2 FontComboBox:字体组合框 76
实例5.13 动态改变标签的字体 77
5.4.3 ListWidget:列表 77
实例5.14 用列表展示内地电影票房总排行榜 78
5.5 容器控件 80
5.5.1 GroupBox:分组框 80
5.5.2 TabWidget:选项卡 81
实例5.15 选项卡的动态添加和删除 82
5.5.3 ToolBox:工具盒 83
实例5.16 设计仿照QQ抽屉效果的窗口 84
5.6 日期时间类控件 87
5.6.1 日期和(或)时间控件 87
5.6.2 CalendarWidget:日历控件 89
实例5.17 获取选中的日期 90
第6章 PyQt6高级控件 92
精彩实例:8个
e学码词条:6个
6.1 进度条类控件 93
6.1.1 ProgressBar:进度条 93
实例6.1 模拟一个跑马灯效果 94
6.1.2 自定义等待提示框 97
实例6.2 自定义等待提示框 97
6.1.3 滑块:QSlider 99
实例6.3 使用滑块控制标签中的字体大小 100
6.2 树控件 102
6.2.1 TreeView:树视图 102
实例6.4 使用TreeView显示各班级的学生成绩信息 104
6.2.2 TreeWidget:树控件 105
实例6.5 使用TreeWidget显示树结构 106
6.3 分割控件 110
6.3.1 分割线:QFrame 110
实例6.6 PyQt6窗口中的分割线展示 110
6.3.2 弹簧:QSpacerItem 112
实例6.7 使用弹簧控件改变控件位置 112
6.4 其他控件 113
6.4.1 Dial:旋钮控件 113
实例6.8 使用旋钮控制标签中的字体大小 113
6.4.2 滚动条:QScrollBar 115
第7章 菜单、工具栏和状态栏 116
精彩实例:3个
e学码词条:5个
7.1 菜单 117
7.1.1 菜单基础类 117
7.1.2 添加和删除菜单 118
7.1.3 设置菜单项 119
7.1.4 为菜单设置快捷键 120
7.1.5 为菜单设置图标 120
7.1.6 菜单的功能实现 120
实例7.1 单击菜单项弹出信息提示框 120
7.2 工具栏 123
7.2.1 工具栏类:QToolBar 123
7.2.2 添加工具栏 124
7.2.3 为工具栏添加图标按钮 124
7.2.4 一次性为工具栏添加多个图标按钮 125
7.2.5 向工具栏中添加其他控件 125
7.2.6 设置工具栏按钮的大小 126
7.2.7 实现工具栏的单击功能 126
实例7.2 获取单击的工具栏按钮 126
7.3 状态栏 128
7.3.1 状态栏类:QStatusBar 128
7.3.2 添加状态栏 129
7.3.3 向状态栏中添加控件 129
7.3.4 在状态栏中显示和删除临时信息 130
7.3.5 在状态栏中实时显示当前时间 130
实例7.3 在状态栏中实时显示当前时间 130
第8章 对话框应用 132
精彩实例:5个
e学码词条:5个
8.1 QMessageBox:对话框 133
8.1.1 对话框的种类 133
8.1.2 对话框的使用方法 133
实例8.1 弹出5种不同的对话框 134
8.1.3 与对话框进行交互 135
8.2 QFileDialog:文件对话框 136
8.2.1 QFileDialog类概述 136
8.2.2 使用QFileDialog选择文件 136
实例8.2 选择并显示图片文件 136
8.2.3 使用QFileDialog选择文件夹 138
实例8.3 以列表的形式显示指定文件夹中的所有文件 139
8.3 QInputDialog:输入对话框 139
8.3.1 QInputDialog概述 139
8.3.2 QInputDialog对话框的使用 141
实例8.4 以列表显示指定文件夹中的所有文件 141
8.4 字体和颜色对话框 144
8.4.1 QFontDialog:字体对话框 144
8.4.2 QColorDialog:颜色对话框 144
8.4.3 字体和颜色对话框的使用 145
实例8.5 动态设置文本的字体和颜色 145
第9章 布局管理 148
精彩实例:4个
e学码词条:4个
9.1 线性布局 149
9.1.1 VerticalLayout:垂直布局 149
9.1.2 HorizontalLayout:水平布局 151
9.2 GridLayout:网格布局 152
9.2.1 网格布局的基本使用 152
实例9.1 使用网格布局登录窗口 153
9.2.2 跨越行和列的网格布局 154
实例9.2 跨行、列布局QQ登录窗口 154
9.3 FormLayout:表单布局 156
实例9.3 使用表单布局登录窗口 157
9.4 布局管理器的嵌套 159
9.4.1 嵌套布局的基本使用 159
9.4.2 通过嵌套布局设计一个微信聊天窗口 160
实例9.4 设计微信聊天窗口 160
第10章 数据库操作 162
精彩实例:9个
e学码词条:6个
10.1 数据库编程接口 163
10.1.1 连接对象 163
10.1.2 游标对象 164
10.2 使用内置的SQLite 165
10.2.1 创建数据库文件 165
实例10.1 创建SQLite数据库文件 165
10.2.2 操作SQLite 166
实例10.2 新增用户数据信息 166
实例10.3 使用3种方式查询用户数据信息 167
实例10.4 修改用户数据信息 168
实例10.5 删除用户数据信息 169
10.3 MySQL数据库的使用 169
10.3.1 下载并安装MySQL 169
10.3.2 安装PyMySQL模块 174
10.3.3 连接数据库 175
实例10.6 使用PyMySQL连接数据库 175
10.3.4 创建数据表 175
实例10.7 创建books表 175
10.3.5 操作MySQL数据表 177
实例10.8 批量添加图书数据 177
10.4 表格控件 178
10.4.1 TableWidget控件 179
10.4.2 在表格中显示数据库数据 181
实例10.9 使用表格显示MySQL数据 181
10.4.3 隐藏垂直标题 182
10.4.4 设置最后一列自动填充容器 182
10.4.5 禁止编辑单元格 183
10.4.6 设置单元格的文本颜色 183
10.4.7 设置指定列的排序方式 184
10.4.8 在指定列中显示图片 185
10.4.9 向指定列中添加PyQt6标准控件 185
10.4.10 合并指定单元格 186
第11章 文件操作 188
精彩实例:2个
e学码词条:3个
11.1 使用QFile类操作文件 189
实例11.1 按文件存储知乎奇葩问题 190
11.2 使用QDir类操作文件夹 194
实例11.2 使用QDir遍历、重命名和删除文件夹 195
第12章 PyQt6绘图技术 199
精彩实例:5个
e学码词条:5个
12.1 PyQt6绘图基础 200
实例12.1 使用QPainter绘制图形 200
12.2 设置画笔与画刷 201
12.2.1 设置画笔:QPen 201
实例12.2 展示不同的画笔样式 202
12.2.2 设置画刷:QBrush 204
实例12.3 展示不同的画刷样式 204
12.3 绘制文本 208
12.3.1 设置样式:QFont 208
12.3.2 绘制文本 209
实例12.4 绘制带噪点和干扰线的验证码 209
12.4 绘制图像 211
实例12.5 绘制公司Logo 212
第13章 多线程编程 213
精彩实例:3个
e学码词条:4个
13.1 线程概述 213
13.1.1 线程的定义与分类 213
13.1.2 多线程的优、缺点 214
13.2 QTimer:计时器 215
实例13.1 双色球彩票选号器 215
13.3 QThread:线程类 218
13.3.1 线程的实现 218
实例13.2 在线程中叠加输出数字 219
13.3.2 线程的生命周期 220
13.3.3 线程的应用 220
实例13.3 龟兔赛跑 221
第14章 PyQt6程序的打包发布 224
14.1 安装Pyinstaller模块 224
14.2 打包普通Python程序 226
14.3 打包PyQt6程序 227
14.4 打包资源文件 229
第15章 综合项目——学生成绩管理
系统(PyQt6+MySQL+
PyMySQL模块实现) 230
15.1 需求分析 231
15.2 系统设计 231
15.2.1 系统功能结构 231
15.2.2 系统业务流程 232
15.2.3 系统预览 232
15.3 系统开发必备 235
15.3.1 系统开发环境 235
15.3.2 系统组织结构 236
15.4 数据库设计 236
15.4.1 数据库结构设计 237
15.4.2 数据表结构设计 237
15.4.3 视图设计 239
15.5 公共模块设计 240
15.5.1 模块导入及公共变量 240
15.5.2 打开数据库连接 240
15.5.3 数据库的增、删、改 241
15.5.4 数据库的查询 241
15.6 登录模块设计 242
15.6.1 登录模块概述 242
15.6.2 模块的导入 243
15.6.3 登录功能的实现 243
15.6.4 退出登录窗体 244
15.6.5 在Python中启动登录窗体 244
15.7 主窗体实现 244
15.7.1 主窗体概述 244
15.7.2 模块导入及窗体初始化 245
15.7.3 在主窗体中打开其他功能窗体 246
15.7.4 显示当前登录用户和登录时间 246
15.8 学生成绩管理模块设计 247
15.8.1 学生成绩管理模块概述 247
15.8.2 窗体的初始化 247
15.8.3 显示指定年级和班级的所有学生姓名 248
15.8.4 根据指定条件查询成绩信息 248
15.8.5 添加学生成绩信息 250
15.8.6 修改学生成绩信息 251
15.8.7 删除学生成绩信息 252
15.9 学生成绩查询模块设计 252
15.9.1 学生成绩查询模块概述 252
15.9.2 初始化考试类别和科目列表 253
15.9.3 学生成绩查询功能的实现 Page 253

读者评论