
作者:明日科技
页数:384
出版社:电子工业出版社
出版日期:2024
ISBN:9787121472664
电子书格式:pdf/epub/txt
内容简介
《零基础学Python GUI设计:PyQt》(升级版)以开发Python窗口程序的PyQt6模块为主线,全面介绍了使用PyQt6 设计Python GUI程序的各方面技术。全书共分为15章,内容涉及Python与PyQt6,搭建开发环境,最一个PyQt6窗口程序,PyQt6窗口设计基础,PyQt6常用控件,PyQt6最级控件,菜单、工具栏和状态栏,对话框应用,布局管理,数据库作,文件作,PyQt6绘图技术,多线程编程,PyQt6程序的打发布等。本书从用户学与应用的角度出发,将所有的知识结合具体实例进行讲解,对涉及的程序代码给出详细的注释,并且运用大量的示意图和实例应用,力求打造轻松、零压力的学氛围,以便读者轻松掌握使用PyQt6进行Python GUI应用开发的髓,快速提高开发技能,拓宽职场道路,最后将PyQt6开发知识应用于实际项目中,以便读者体验项目开发的全过程。 本书列举了大量的小型实例、综合实例和实战项目案例,所有实例和项目提供了配套的源码,力求为读者打造一本结合了“基础入门+应用开发+实战项目”的Python PyQt6开发图书。 本书内容详尽,实例丰富,项目,非常适合作为PyQt6编程初的学用书,也适合作为Python开发人员的查阅、参考资料。另外,对于从C++、C#、Java等编程语言转入Python的开发人员也有很高的参考值。
作者简介
明日科技,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学、方便以及相关知识的拓展,深受读者喜爱。其编写的图书主要有“从入门到精通”“软件开发视频大讲堂”“软件开发实战1200例”“软件工程师开发大系”等多个系列。在销量上多次荣获全行业多个奖项,多个品种长期位居同类图书销售排行榜的前列。
本书特色
本书中的所有实例和项目都提供了源码,旨在为读者打造一本“基础入门+应用开发+实战项目”一体化的Python PyQt5开发图书。
目录
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
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
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
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.3.4 将自定义槽连接到信号 49
4.4 多窗口设计 50
4.4.1 多窗口的建立 50
4.4.2 设置启动窗口 51
4.4.3 窗口之间的关联 51
4.5 UI与逻辑代码分离 52
第5章 PyQt6常用控件 54
5.1 控件概述 55
5.1.1 认识控件 55
5.1.2 控件的命名规范 56
5.2 文本类控件 57
5.2.1 Label:标签控件 57
5.2.2 LineEdit:单行文本框 60
5.2.3 TextEdit:多行文本框 62
5.2.4 SpinBox:整数数字选择控件 63
5.2.5 DoubleSpinBox:小数数字选择控件 64
5.2.6 LCDNumber:液晶数字显示控件 65
5.3 按钮类控件 67
5.3.1 PushButton:按钮 67
5.3.2 ToolButton:工具按钮 69
5.3.3 CommandLinkButton:命令按钮 70
5.3.4 RadioButton:单选按钮 71
5.3.5 CheckBox:复选框 73
5.4 选择列表类控件 75
5.4.1 ComboBox:下拉组合框 75
5.4.2 FontComboBox:字体组合框 76
5.4.3 ListWidget:列表 77
5.5 容器控件 80
5.5.1 GroupBox:分组框 80
5.5.2 TabWidget:选项卡 81
5.5.3 ToolBox:工具盒 83
5.6 日期时间类控件 87
5.6.1 日期和(或)时间控件 87
5.6.2 CalendarWidget:日历控件 89
第6章 PyQt6最级控件 92
6.1 进度条类控件 93
6.1.1 ProgressBar:进度条 93
6.1.2 自定义等待提示框 97
6.1.3 滑块:QSlider 99
6.2 树控件 102
6.2.1 TreeView:树视图 102
6.2.2 TreeWidget:树控件 105
6.3 分割控件 110
6.3.1 分割线:QFrame 110
6.3.2 弹簧:QSpacerItem 112
6.4 其他控件 113
6.4.1 Dial:旋钮控件 113
6.4.2 滚动条:QScrollBar 115
第7章 菜单、工具栏和状态栏 116
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.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.3 状态栏 128
7.3.1 状态栏类:QStatusBar 128
7.3.2 添加状态栏 129
7.3.3 向状态栏中添加控件 129
7.3.4 在状态栏中显示和删除临时信息 130
7.3.5 在状态栏中实时显示当前时间 130
第8章 对话框应用 132
8.1 QMessageBox:对话框 133
8.1.1 对话框的种类 133
8.1.2 对话框的使用方法 133
8.1.3 与对话框进行交互 135
8.2 QFileDialog:文件对话框 136
8.2.1 QFileDialog类概述 136
8.2.2 使用QFileDialog选择文件 136
8.2.3 使用QFileDialog选择文件夹 138
8.3 QInputDialog:输入对话框 139
8.3.1 QInputDialog概述 139
8.3.2 QInputDialog对话框的使用 141
8.4 字体和颜色对话框 144
8.4.1 QFontDialog:字体对话框 144
8.4.2 QColorDialog:颜色对话框 144
8.4.3 字体和颜色对话框的使用 145
第9章 布局管理 148
9.1 线性布局 149
9.1.1 VerticalLayout:垂直布局 149
9.1.2 HorizontalLayout:水平布局 151
9.2 GridLayout:网格布局 152
9.2.1 网格布局的基本使用 152
9.2.2 跨越行和列的网格布局 154
9.3 FormLayout:表单布局 156
9.4 布局管理器的嵌套 159
9.4.1 嵌套布局的基本使用 159
9.4.2 通过嵌套布局设计一个聊天窗口 160
最10章 数据库作 162
10.1 数据库编程接口 163
10.1.1 连接对象 163
10.1.2 游标对象 164
10.2 使用内置的SQLite 165
10.2.1 创建数据库文件 165
10.2.2 作SQLite 166
10.3 MySQL数据库的使用 169
10.3.1 下载并安装MySQL 169
10.3.2 安装PyMySQL模块 174
10.3.3 连接数据库 175
10.3.4 创建数据表 175
10.3.5 作MySQL数据表 177
10.4 表格控件 178
10.4.1 TableWidget控件 179
10.4.2 在表格中显示数据库数据 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
11.1 使用QFile类作文件 189
11.2 使用QDir类作文件夹 194
最12章 PyQt6绘图技术 199
12.1 PyQt6绘图基础 200
12.2 设置画笔与画刷 201
12.2.1 设置画笔:QPen 201
12.2.2 设置画刷:QBrush 204
12.3 绘制文本 208
12.3.1 设置样式:QFont 208
12.3.2 绘制文本 209
12.4 绘制图像 211
最13章 多线程编程 213
13.1 线程概述 213
13.1.1 线程的定义与分类 213
13.1.2 多线程的缺点 214
13.2 QTimer:计时器 215
13.3 QThread:线程类 218
13.3.1 线程的实现 218
13.3.2 线程的生命周期 220
13.3.3 线程的应用 220
最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 学生成绩查询功能的实现 253















