零基礎學Python GUI 設計:tkinter(升級版)
定 價:99 元
- 作者:明日科技
- 出版時間:2024/4/1
- ISBN:9787121476655
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:248
- 紙張:
- 版次:01
- 開本:16開
零基礎學Python GUI 設計:tkinter(升級版)這本書以開發(fā) Python 窗口程序常用的 tkinter 模塊為主線,全面介紹了使用 tkinter 設計 Python GUI 程序的各方面技術。全書共分為 18 章,包括搭建開發(fā)環(huán)境、tkinter 與 GUI、tkinter 窗口設計、tkinter 布局管理、文本類組件、按鈕類組件、選擇列表與滾動條、容器類組件、對話框類組件、菜單組件、Progressbar 進度條組件、canvas 繪圖、鼠標鍵盤事件處理、數(shù)據(jù)庫操作、文件操作、程序的打包與發(fā)布、綜合項目(一)——擲骰子游戲、綜合項目(二)——學生管理系統(tǒng)等。本書從用戶學習與應用的角度出發(fā),所有知識都結合具體實例進行講解,涉及的程序代碼給出了詳細的注釋,并且運用大量的示意圖和實例應用,力求打造輕松、零壓力的學習氛圍,以便使讀者輕松掌握使用 tkinter 進行 Python GUI 應用開發(fā)的精髓,快速提高開發(fā)技能,拓寬職場道路;最后利用兩個實戰(zhàn)項目將 tkinter 開發(fā)知識應用于實際項目中,以使讀者親身體驗項目開發(fā)的全過程。
明日科技是一家專業(yè)從事軟件開發(fā)、教育培訓以及軟件開發(fā)教育資源整合的高科技公司。其編寫的教材既注重選取軟件開發(fā)中的必需、常用內容,又注重內容的易學易用以及相關知識的拓展,深受讀者喜愛。同時,其編寫的教材多次榮獲"全行業(yè)優(yōu)秀暢銷品種”"中國大學出版社圖書獎優(yōu)秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。
第1章 搭建開發(fā)環(huán)境 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開發(fā)環(huán)境概述 3
1.2.2 下載Python 3
1.2.3 安裝Python 5
1.2.4 測試Python是否安裝成功 6
1.2.5 Python安裝失敗的解決方法 6
1.3 PyCharm開發(fā)工具的下載與安裝 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 創(chuàng)建窗口 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()方法的參數(shù)總覽 27
4.1.2 pack()方法各參數(shù)的應用 27
實例4.1 設置文字的排列方式 27
實例4.2 在窗口中顯示斗獸棋游戲的規(guī)則 29
實例4.3 設置組件垂直填充窗口 30
實例4.4 設置組件填充額外空間 30
實例4.5 模擬確認退出本窗口的對話框 32
實例4.6 指定各組件的順序 32
4.2 grid()方法 33
4.2.1 grid()方法的參數(shù)設置 34
實例4.7 顯示4以內的乘法表 34
4.2.2 rowconfigure()方法和columnconfigure()方法設置組件的縮放比例 36
實例4.8 實現(xiàn)在窗口的四角添加四個方塊 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 用箭頭指示斗獸棋游戲規(guī)則 41
5.1.2 在Label組件中添加圖片 42
實例5.2 實現(xiàn)游戲“歡樂寫數(shù)字”道具兌換窗口 43
5.1.3 在Label組件中指定位置換行 45
5.2 Entry組件 46
5.2.1 Entry組件的基本使用 46
實例5.3 實現(xiàn)登錄賬號窗口,并且隱藏密碼 46
5.2.2 Entry組件中各方法的使用 47
實例5.4 在窗口中實現(xiàn)兩個數(shù)相加 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 實現(xiàn)游戲中購買道具窗口 53
5.4.2 Spinbox組件的相關屬性介紹 53
實例5.7 布局購買道具窗口,并且計算花費 54
5.4.3 Spinbox組件的相關方法 55
實例5.8 實現(xiàn)簡易留言本 55
5.5 Scale組件 56
5.5.1 Scale組件的基本使用 56
5.5.2 Scale組件的常用方法 57
實例5.9 通過滑塊和左右按鈕實現(xiàn)愛心暴擊 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 實現(xiàn)簡易密碼輸入器 61
6.2 Radiobutton組件 63
6.2.1 Radiobutton組件的基本使用 63
實例6.3 在窗口中顯示一則“腦筋急轉彎” 63
6.2.2 單選按鈕的相關屬性 64
實例6.4 實現(xiàn)心理測試功能 64
6.3 Checkbutton組件 66
6.3.1 Checkbutton組件的基本使用 66
6.3.2 判斷復選框是否被選中 66
實例6.5 實現(xiàn)問卷調查功能 66
第7章 選擇列表與滾動條 68
視頻講解:1小時23分鐘
精彩實例:8個
e學碼詞條:5個
7.1 Listbox組件 69
7.1.1 Listbox組件的基本使用 69
實例7.1 實現(xiàn)展開選擇列表功能 69
7.1.2 Listbox組件的相關屬性 70
實例7.2 獲取列表框的當前選項 70
7.1.3 Listbox組件的相關方法 71
實例7.3 實現(xiàn)仿游戲內編輯快捷信號的功能 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 實現(xiàn)邏輯推理題 75
7.4 Combobox組件 77
7.4.1 Combobox組件的基本使用 77
實例7.7 以管理員的身份查看報表 78
7.4.2 Combobox組件的相關方法 78
實例7.8 實現(xiàn)添加日程功能 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組件實現(xiàn)顯示地鐵信息的功能 83
8.1.3 在Frame組件中添加單選按鈕與復選框 84
實例8.3 實現(xiàn)全選、全不選與反選功能 84
8.2 LabelFrame組件 85
實例8.4 實現(xiàn)游戲中的禮品兌換功能 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系統(tǒng)中設置日期和時間的選項卡 91
8.5.2 Notebook組件的應用實例 92
實例8.8 實現(xiàn)單擊游戲名稱時顯示游戲介紹的功能 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 實現(xiàn)根據(jù)含義猜成語游戲 111
10.2 Treeview組件 113
10.2.1 Treeview組件的基本使用 113
實例10.6 統(tǒng)計王者榮耀各英雄的類型及操作難易程度 114
10.2.2 為樹狀列表添加圖標 115
實例10.7 表格顯示近一周的天氣狀況 115
10.2.3 為樹狀列表添加子列表 116
實例10.8 統(tǒng)計運動競賽各組成員的得分情況 117
10.2.4 列表項的獲取與編輯 118
實例10.9 統(tǒng)計個人出行記錄 119
第11章 進度條組件 123
視頻講解:17分鐘
精彩實例:3個
e學碼詞條:5個
實例11.1 模擬小貓進食游戲 124
11.1 Progressbar組件 124
11.2 Progressbar組件的相關方法 125
實例11.2 制作顯示游戲加載進度的進度條 126
11.3 左右循環(huán)滾動的進度條 127
實例11.3 通過循環(huán)滾動的進度條模擬進入游戲時的加載動畫 127
第12章 繪圖組件 128
視頻講解:1小時16分鐘
精彩實例:11個
e學碼詞條:14個
12.1 Canvas組件 129
實例12.1 窗口中創(chuàng)建畫布 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 實現(xiàn)小貓釣魚游戲 140
第13章 事件處理 142
視頻講解:53分鐘
精彩實例:4個
e學碼詞條:5個
13.1 鼠標事件 143
實例13.1 實現(xiàn)找顏色眼力測試游戲 144
13.2 鍵盤事件 146
實例13.2 模擬貪吃蛇游戲中通過鍵盤控制蛇的移動方向 146
13.3 一次綁定多個事件處理程序 148
實例13.3 為多個Label組件一鍵添加顏色 149
13.4 取消事件的綁定 150
實例13.4 鍵盤控制方塊只能在窗口內
移動 150
第14章 數(shù)據(jù)庫操作 152
視頻講解:2小時2分鐘
精彩實例:13個
e學碼詞條:12個
14.1 數(shù)據(jù)庫編程接口 153
14.1.1 連接對象 153
14.1.2 游標對象 154
14.2 使用內置的SQLite 155
14.2.1 創(chuàng)建數(shù)據(jù)庫文件 155
實例14.1 創(chuàng)建SQLite數(shù)據(jù)庫文件 155
14.2.2 操作SQLite 156
實例14.2 新增用戶數(shù)據(jù)信息 156
實例14.3 使用3種方式查詢用戶數(shù)據(jù)信息 157
實例14.4 修改用戶數(shù)據(jù)信息 158
實例14.5 刪除用戶數(shù)據(jù)信息 159
14.3 使用MySQL數(shù)據(jù)庫 159
14.3.1 下載安裝MySQL 159
14.3.2 安裝PyMySQL模塊 164
14.3.3 連接數(shù)據(jù)庫 164
實例14.6 使用PyMySQL連接數(shù)據(jù)庫 165
14.3.4 創(chuàng)建數(shù)據(jù)表 165
實例14.7 創(chuàng)建books表 165
14.3.5 操作MySQL數(shù)據(jù)表 166
實例14.8 批量添加圖書數(shù)據(jù) 167
14.4 在tkinter中操作MySQL中的數(shù)據(jù) 168
14.4.1 在窗口中顯示MySQL數(shù)據(jù) 168
實例14.9 使用表格顯示MySQL數(shù)據(jù) 168
14.4.2 在窗口中增加用戶數(shù)據(jù) 169
實例14.10 在窗口中使用表格添加MySQL數(shù)據(jù) 169
14.4.3 在窗口中刪除用戶數(shù)據(jù) 171
實例14.11 在窗口中刪除指定MySQL數(shù)據(jù) 171
14.4.4 在窗口中修改用戶數(shù)據(jù) 172
實例14.12 使用窗口修改MySQL數(shù)據(jù) 173
14.4.5 在窗口中查詢用戶數(shù)據(jù) 175
實例14.13 通過條件查詢數(shù)據(jù)并將查詢結果顯示在表格中 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模塊中創(chuàng)建指定格式文件并且追加內容 195
15.2.3 打開文件 197
實例15.7 在tkinter窗口中顯示文本文件的內容 197
15.2.4 選擇文件夾 198
第16章 Python程序的打包發(fā)布 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 系統(tǒng)功能結構 206
17.1.3 設計流程 206
17.1.4 系統(tǒng)開發(fā)環(huán)境 206
17.1.5 系統(tǒng)預覽 207
17.2 窗口布局 208
17.3 功能實現(xiàn) 209
17.3.1 用戶和電腦選擇骰子的點數(shù)大小 209
17.3.2 搖骰子過程實現(xiàn) 210
17.3.3 判斷游戲結果 211
17.3.4 單擊“開始”按鈕啟動游戲 212
第18章 學生成績管理系統(tǒng) 213
視頻講解:1小時50分鐘
18.1 需求分析 214
18.2 系統(tǒng)設計 214
18.2.1 系統(tǒng)功能結構 214
18.2.2 系統(tǒng)業(yè)務流程 215
18.2.3 系統(tǒng)預覽 215
18.3 系統(tǒng)開發(fā)必備 218
18.3.1 系統(tǒng)開發(fā)環(huán)境 218
18.3.2 系統(tǒng)組織結構 218
18.4 數(shù)據(jù)庫設計 219
18.4.1 數(shù)據(jù)庫結構設計 219
18.4.2 數(shù)據(jù)表結構設計 220
18.4.3 視圖設計 221
18.5 公共模塊設計 222
18.5.1 模塊導入及公共變量 222
18.5.2 打開數(shù)據(jù)庫連接 223
18.5.3 數(shù)據(jù)的添加、修改、刪除 223
18.5.4 數(shù)據(jù)的查詢方法 223
18.6 登錄模塊設計 224
18.6.1 登錄模塊概述 224
18.6.2 模塊的導入 225
18.6.3 登錄窗體的實現(xiàn) 225
18.6.4 判斷用戶名和密碼 226
18.6.5 在Python中啟動登錄窗體 226
18.7 主窗體模塊設計 226
18.7.1 主窗體概述 226
18.7.2 主窗體實現(xiàn) 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 根據(jù)指定條件查詢成績信息 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 成績信息查詢功能的實現(xiàn) 235