零基礎學Python GUI 設計:tkinter(升級版)

明日科技

  • 出版商: 電子工業
  • 出版日期: 2024-04-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 248
  • ISBN: 7121476657
  • ISBN-13: 9787121476655
  • 相關分類: Python程式語言使用者介面 UI
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

零基礎學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