零基础学Python GUI 设计:tkinter(升级版)
定 价:99 元
- 作者:明日科技
- 出版时间:2024/4/1
- ISBN:9787121476655
- 出 版 社:电子工业出版社
- 中图法分类:TP311.561
- 页码:248
- 纸张:
- 版次:01
- 开本:16开
零基础学Python GUI 设计:tkinter(升级版)这本书以开发 Python 窗口程序常用的 tkinter 模块为主线,全面介绍了使用 tkinter 设计 Python GUI 程序的各方面技术。全书共分为 18 章,包括搭建开发环境、tkinter 与 GUI、tkinter 窗口设计、tkinter 布局管理、文本类组件、按钮类组件、选择列表与滚动条、容器类组件、对话框类组件、菜单组件、Progressbar 进度条组件、canvas 绘图、鼠标键盘事件处理、数据库操作、文件操作、程序的打包与发布、综合项目(一)——掷骰子游戏、综合项目(二)——学生管理系统等。本书从用户学习与应用的角度出发,所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释,并且运用大量的示意图和实例应用,力求打造轻松、零压力的学习氛围,以便使读者轻松掌握使用 tkinter 进行 Python GUI 应用开发的精髓,快速提高开发技能,拓宽职场道路;最后利用两个实战项目将 tkinter 开发知识应用于实际项目中,以使读者亲身体验项目开发的全过程。
明日科技是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司。其编写的教材既注重选取软件开发中的必需、常用内容,又注重内容的易学易用以及相关知识的拓展,深受读者喜爱。同时,其编写的教材多次荣获"全行业优秀畅销品种”"中国大学出版社图书奖优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。
第1章 搭建开发环境 1
视频讲解:50分钟
e学码词条:8个
1.1 Python语言介绍 2
1.1.1 了解Python 2
1.1.2 Python的版本 2
1.1.3 Python的应用领域 2
1.2 Python的下载与安装 3
1.2.1 Python开发环境概述 3
1.2.2 下载Python 3
1.2.3 安装Python 5
1.2.4 测试Python是否安装成功 6
1.2.5 Python安装失败的解决方法 6
1.3 PyCharm开发工具的下载与安装 7
1.3.1 下载PyCharm 7
1.3.2 安装PyCharm 8
1.3.3 启动并配置PyCharm 9
第2章 tkinter与GUI 11
视频讲解:13分钟
精彩实例:2个
e学码词条:5个
2.1 GUI简介 12
2.2 tkinter简介 12
2.3 tkinter模块与ttk模块的比较 13
实例2.1 使用tkinter模块在窗口中添加Button组件 14
实例2.2 使用ttk模块在窗口中添加Button组件 14
第3章 tkinter窗口设计 16
视频讲解:43分钟
精彩实例:5个
e学码词条:7个
3.1 创建窗口 17
3.2 设置窗口属性 17
实例3.1 为窗口添加标题 18
实例3.2 设置窗口样式 18
3.3 设置窗口位置 19
实例3.3 设置窗口大小及位置 20
3.4 tkinter窗口设计的核心 21
3.4.1 Widget组件的分类 21
3.4.2 Widget组件的公共属性 22
实例3.4 指定窗口大小及文字的样式 22
实例3.5 在窗口中显示充值成功后
获得的道具 25
3.4.3 Widget组件的公共方法 25
第4章 tkinter布局管理 26
视频讲解:42分钟
精彩实例:10个
e学码词条:5个
4.1 pack()方法 27
4.1.1 pack()方法的参数总览 27
4.1.2 pack()方法各参数的应用 27
实例4.1 设置文字的排列方式 27
实例4.2 在窗口中显示斗兽棋游戏的规则 29
实例4.3 设置组件垂直填充窗口 30
实例4.4 设置组件填充额外空间 30
实例4.5 模拟确认退出本窗口的对话框 32
实例4.6 指定各组件的顺序 32
4.2 grid()方法 33
4.2.1 grid()方法的参数设置 34
实例4.7 显示4以内的乘法表 34
4.2.2 rowconfigure()方法和columnconfigure()方法设置组件的缩放比例 36
实例4.8 实现在窗口的四角添加四个方块 36
4.3 place()方法 37
4.3.1 x、y、width和height 37
实例4.9 布局华容道游戏窗口 37
4.3.2 relx、rely、relwidth和relheight 38
实例4.10 布局跟随窗口缩放的华容道游戏窗口 39
第5章 文本类组件 40
视频讲解:1小时41分钟
精彩实例:9个
e学码词条:5个
5.1 Label组件 41
5.1.1 Label组件的基本使用 41
实例5.1 用箭头指示斗兽棋游戏规则 41
5.1.2 在Label组件中添加图片 42
实例5.2 实现游戏“欢乐写数字”道具兑换窗口 43
5.1.3 在Label组件中指定位置换行 45
5.2 Entry组件 46
5.2.1 Entry组件的基本使用 46
实例5.3 实现登录账号窗口,并且隐藏密码 46
5.2.2 Entry组件中各方法的使用 47
实例5.4 在窗口中实现两个数相加 48
5.3 Text组件 49
5.3.1 Text组件的基本使用 49
实例5.5 在Text组件中添加图片、文字及按钮 50
5.3.2 Text组件的索引 50
5.3.3 Text组件的常用方法 51
5.4 Spinbox组件 52
5.4.1 Spinbox组件的基本使用 52
实例5.6 实现游戏中购买道具窗口 53
5.4.2 Spinbox组件的相关属性介绍 53
实例5.7 布局购买道具窗口,并且计算花费 54
5.4.3 Spinbox组件的相关方法 55
实例5.8 实现简易留言本 55
5.5 Scale组件 56
5.5.1 Scale组件的基本使用 56
5.5.2 Scale组件的常用方法 57
实例5.9 通过滑块和左右按钮实现爱心暴击 57
第6章 按钮类组件 59
视频讲解:57分钟
精彩实例:5个
e学码词条:7个
6.1 Button组件 60
6.1.1 Button组件的基本使用 60
实例6.1 通过按钮添加图片 60
6.1.2 Button组件的相关属性 60
实例6.2 实现简易密码输入器 61
6.2 Radiobutton组件 63
6.2.1 Radiobutton组件的基本使用 63
实例6.3 在窗口中显示一则“脑筋急转弯” 63
6.2.2 单选按钮的相关属性 64
实例6.4 实现心理测试功能 64
6.3 Checkbutton组件 66
6.3.1 Checkbutton组件的基本使用 66
6.3.2 判断复选框是否被选中 66
实例6.5 实现问卷调查功能 66
第7章 选择列表与滚动条 68
视频讲解:1小时23分钟
精彩实例:8个
e学码词条:5个
7.1 Listbox组件 69
7.1.1 Listbox组件的基本使用 69
实例7.1 实现展开选择列表功能 69
7.1.2 Listbox组件的相关属性 70
实例7.2 获取列表框的当前选项 70
7.1.3 Listbox组件的相关方法 71
实例7.3 实现仿游戏内编辑快捷信号的功能 72
7.2 Scrollbar组件 73
实例7.4 为列表框绑定滚动条 73
7.3 OptionMenu组件 74
7.3.1 OptionMenu组件的基本使用 74
实例7.5 在下拉列表中显示歌曲列表 75
7.3.2 OptionMenu组件相关方法的使用 75
实例7.6 实现逻辑推理题 75
7.4 Combobox组件 77
7.4.1 Combobox组件的基本使用 77
实例7.7 以管理员的身份查看报表 78
7.4.2 Combobox组件的相关方法 78
实例7.8 实现添加日程功能 79
第8章 容器组件 81
视频讲解:60分钟
精彩实例:8个
e学码词条:5个
8.1 Frame组件 82
8.1.1 Frame组件的基本概念 82
实例8.1 设置鼠标指针悬停在Frame组件上的样式 82
8.1.2 使用Frame组件管理组件 82
实例8.2 使用Frame组件实现显示地铁信息的功能 83
8.1.3 在Frame组件中添加单选按钮与复选框 84
实例8.3 实现全选、全不选与反选功能 84
8.2 LabelFrame组件 85
实例8.4 实现游戏中的礼品兑换功能 86
8.3 Toplevel组件 87
8.3.1 Toplevel组件的基本使用 87
8.3.2 Toplevel组件的高级使用 88
实例8.5 模拟游戏中玩家匹配房间及提醒玩家准备的功能 88
8.4 PaneWindow组件 89
实例8.6 应用PaneWindow组件调整窗口中各面板的大小 90
8.5 Notebook组件 91
8.5.1 Notebook组件的基本使用 91
实例8.7 仿制Windows7系统中设置日期和时间的选项卡 91
8.5.2 Notebook组件的应用实例 92
实例8.8 实现单击游戏名称时显示游戏介绍的功能 92
第9章 消息组件与对话框 94
视频讲解:43分钟
精彩实例:9个
e学码词条:10个
9.1 Message组件 95
实例9.1 使用Message组件仿制聊天
消息 96
9.1.1 Message组件的基本使用 95
实例9.2 模拟支付宝集福卡活动过程 96
9.1.2 Message组件的高级使用 96
9.2 messagebox模块 97
9.2.1 对话框的分类 97
9.2.2 各类对话框的使用 98
实例9.3 模拟游戏中老玩家回归游戏的欢迎功能 98
实例9.4 模拟退出游戏警告框功能 99
实例9.5 模拟游戏异常时显示的错误提醒对话框功能 100
实例9.6 制作关闭窗口提醒对话框 100
实例9.7 制作关闭窗口对话框 101
实例9.8 制作退出应用提醒对话框 102
实例9.9 模拟打开游戏失败时询问是否重启游戏的对话框 103
第10章 菜单组件 104
视频讲解:1小时57分钟
精彩实例:9个
e学码词条:7个
10.1 Menu组件 105
10.1.1 Menu组件的基本使用 105
实例10.1 为游戏窗口添加菜单项样式 105
实例10.2 为游戏窗口的菜单项添加功能 105
10.1.2 制作二级下拉菜单 107
实例10.3 为城市列表添加弹出式菜单 108
10.1.3 为菜单添加快捷键 109
实例10.4 设置窗口的文字样式及窗口大小 110
10.1.4 制作工具栏 111
实例10.5 实现根据含义猜成语游戏 111
10.2 Treeview组件 113
10.2.1 Treeview组件的基本使用 113
实例10.6 统计王者荣耀各英雄的类型及操作难易程度 114
10.2.2 为树状列表添加图标 115
实例10.7 表格显示近一周的天气状况 115
10.2.3 为树状列表添加子列表 116
实例10.8 统计运动竞赛各组成员的得分情况 117
10.2.4 列表项的获取与编辑 118
实例10.9 统计个人出行记录 119
第11章 进度条组件 123
视频讲解:17分钟
精彩实例:3个
e学码词条:5个
实例11.1 模拟小猫进食游戏 124
11.1 Progressbar组件 124
11.2 Progressbar组件的相关方法 125
实例11.2 制作显示游戏加载进度的进度条 126
11.3 左右循环滚动的进度条 127
实例11.3 通过循环滚动的进度条模拟进入游戏时的加载动画 127
第12章 绘图组件 128
视频讲解:1小时16分钟
精彩实例:11个
e学码词条:14个
12.1 Canvas组件 129
实例12.1 窗口中创建画布 129
12.2 基本图形绘制 130
12.2.1 绘制线条 130
实例12.2 使用线条绘制五角星 131
12.2.2 绘制矩形 131
实例12.3 通过键盘控制正方形移动 131
12.2.3 绘制椭圆 132
实例12.4 绘制简笔画人脸 133
12.2.4 绘制圆弧和扇形 133
实例12.5 绘制西瓜 134
实例12.6 绘制西瓜形状的雪糕 135
12.2.5 绘制多边形 135
实例12.7 绘制七巧板拼成的松鼠图案 136
12.2.6 绘制文字 136
实例12.8 绘制随机颜色和字体的文字 136
12.2.7 绘制图像 137
实例12.9 用鼠标拖动小鸟,帮小鸟回家 138
12.3 拖动鼠标绘制图形 138
实例12.10 在窗口中进行书法秀 139
12.4 设计动画 139
实例12.11 实现小猫钓鱼游戏 140
第13章 事件处理 142
视频讲解:53分钟
精彩实例:4个
e学码词条:5个
13.1 鼠标事件 143
实例13.1 实现找颜色眼力测试游戏 144
13.2 键盘事件 146
实例13.2 模拟贪吃蛇游戏中通过键盘控制蛇的移动方向 146
13.3 一次绑定多个事件处理程序 148
实例13.3 为多个Label组件一键添加颜色 149
13.4 取消事件的绑定 150
实例13.4 键盘控制方块只能在窗口内
移动 150
第14章 数据库操作 152
视频讲解:2小时2分钟
精彩实例:13个
e学码词条:12个
14.1 数据库编程接口 153
14.1.1 连接对象 153
14.1.2 游标对象 154
14.2 使用内置的SQLite 155
14.2.1 创建数据库文件 155
实例14.1 创建SQLite数据库文件 155
14.2.2 操作SQLite 156
实例14.2 新增用户数据信息 156
实例14.3 使用3种方式查询用户数据信息 157
实例14.4 修改用户数据信息 158
实例14.5 删除用户数据信息 159
14.3 使用MySQL数据库 159
14.3.1 下载安装MySQL 159
14.3.2 安装PyMySQL模块 164
14.3.3 连接数据库 164
实例14.6 使用PyMySQL连接数据库 165
14.3.4 创建数据表 165
实例14.7 创建books表 165
14.3.5 操作MySQL数据表 166
实例14.8 批量添加图书数据 167
14.4 在tkinter中操作MySQL中的数据 168
14.4.1 在窗口中显示MySQL数据 168
实例14.9 使用表格显示MySQL数据 168
14.4.2 在窗口中增加用户数据 169
实例14.10 在窗口中使用表格添加MySQL数据 169
14.4.3 在窗口中删除用户数据 171
实例14.11 在窗口中删除指定MySQL数据 171
14.4.4 在窗口中修改用户数据 172
实例14.12 使用窗口修改MySQL数据 173
14.4.5 在窗口中查询用户数据 175
实例14.13 通过条件查询数据并将查询结果显示在表格中 175
第15章 文件操作 178
视频讲解:2小时24分钟
精彩实例:7个
e学码词条:11个
15.1 Python内置的文件及文件夹操作 179
15.1.1 文件操作 179
实例15.1 向文件中写入文本内容 182
实例15.2 读取文本文件内容 183
实例15.3 在tkinter窗口中显示文件基本信息 186
15.1.2 文件夹操作 186
实例15.4 遍历指定路径下的文件 191
15.2 tkinter模块中的文件对话框 192
15.2.1 选择文件 192
实例15.5 以表格形式显示所选文件的路径 193
15.2.2 保存文件 194
实例15.6 在tkinter模块中创建指定格式文件并且追加内容 195
15.2.3 打开文件 197
实例15.7 在tkinter窗口中显示文本文件的内容 197
15.2.4 选择文件夹 198
第16章 Python程序的打包发布 200
视频讲解:12分钟
e学码:5个
16.1 安装Pyinstaller模块 201
16.2 打包普通Python程序 201
16.3 打包含第三方模块的Python程序 203
16.4 打包资源文件 204
第17章 掷骰子游戏 205
视频讲解:34分钟
17.1 前期准备 206
17.1.1 需求分析 206
17.1.2 系统功能结构 206
17.1.3 设计流程 206
17.1.4 系统开发环境 206
17.1.5 系统预览 207
17.2 窗口布局 208
17.3 功能实现 209
17.3.1 用户和电脑选择骰子的点数大小 209
17.3.2 摇骰子过程实现 210
17.3.3 判断游戏结果 211
17.3.4 单击“开始”按钮启动游戏 212
第18章 学生成绩管理系统 213
视频讲解:1小时50分钟
18.1 需求分析 214
18.2 系统设计 214
18.2.1 系统功能结构 214
18.2.2 系统业务流程 215
18.2.3 系统预览 215
18.3 系统开发必备 218
18.3.1 系统开发环境 218
18.3.2 系统组织结构 218
18.4 数据库设计 219
18.4.1 数据库结构设计 219
18.4.2 数据表结构设计 220
18.4.3 视图设计 221
18.5 公共模块设计 222
18.5.1 模块导入及公共变量 222
18.5.2 打开数据库连接 223
18.5.3 数据的添加、修改、删除 223
18.5.4 数据的查询方法 223
18.6 登录模块设计 224
18.6.1 登录模块概述 224
18.6.2 模块的导入 225
18.6.3 登录窗体的实现 225
18.6.4 判断用户名和密码 226
18.6.5 在Python中启动登录窗体 226
18.7 主窗体模块设计 226
18.7.1 主窗体概述 226
18.7.2 主窗体实现 227
18.7.3 在主窗体中打开其他功能窗体 228
18.7.4 显示当前登录用户和登录时间 229
18.8 学生成绩管理模块设计 229
18.8.1 学生成绩管理模块概述 229
18.8.2 窗体的初始化 230
18.8.3 显示指定年级的指定班的所有学生姓名 230
18.8.4 根据指定条件查询成绩信息 230
18.8.5 添加学生成绩信息 232
18.8.6 修改学生成绩信息 233
18.8.7 删除学生成绩信息 234
18.9 成绩信息查询模块设计 234
18.9.1 成绩信息查询模块概述 234
18.9.2 初始化考试类别和科目列表 235
18.9.3 成绩信息查询功能的实现 235