關(guān)于我們
書單推薦
新書推薦
|
Python GUI開發(fā)手冊:基礎(chǔ)·實戰(zhàn)·強(qiáng)化 讀者對象:本書適合Python GUI開發(fā)從業(yè)者、Python 開發(fā)程序員、Python 開發(fā)以及人工智能的愛好者閱讀,也可供高校計算機(jī)相關(guān)專業(yè)師生參考。
《Python GUI開發(fā)手冊:基礎(chǔ)·實戰(zhàn)·強(qiáng)化》是“計算機(jī)科學(xué)與技術(shù)手冊系列”圖書之一,該系列圖書內(nèi)容全面,以理論聯(lián)系實際、能學(xué)到并做到為宗旨,以技術(shù)為核心,以案例為輔助,引領(lǐng)讀者全面學(xué)習(xí)基礎(chǔ)技術(shù)、代碼編寫方法和具體應(yīng)用項目。旨在為想要進(jìn)入相應(yīng)領(lǐng)域或者已經(jīng)在該領(lǐng)域深耕多年的技術(shù)人員提供新而全的技術(shù)性內(nèi)容及案例。
本書以Python語言為載體講解GUI開發(fā),分為4篇,分別是:基礎(chǔ)篇、tkinter模塊實戰(zhàn)篇、PyQt5模塊實戰(zhàn)篇和項目強(qiáng)化篇,共30章。內(nèi)容由淺入深,循序漸進(jìn),使讀者在打好基礎(chǔ)的同時逐步提升技能。本書內(nèi)容包含了GUI開發(fā)必備的基礎(chǔ)知識和數(shù)據(jù)庫相關(guān)知識,以較大篇幅講解了目前應(yīng)用較廣的兩個開發(fā)模塊(tkinter和PyQt5)和相應(yīng)的12個關(guān)鍵案例,同時配備了兩個大型項目,使讀者能夠同步做出產(chǎn)品,達(dá)到學(xué)到并且做到的目的。 本書適合Python GUI開發(fā)從業(yè)者、Python 開發(fā)程序員、Python 開發(fā)以及人工智能的愛好者閱讀,也可供高校計算機(jī)相關(guān)專業(yè)師生參考。
明日科技,吉林省明日科技有限公司,組織編寫,吉林省明日科技有限公司是一家以數(shù)字出版為核心的高新技術(shù)企業(yè)。是國內(nèi)IT信息服務(wù)領(lǐng)域的知名品牌。
吉林省明日科技有限公司的主要產(chǎn)品有圖書、編程詞典、明日學(xué)院在線教育等。 2003年1月,明日團(tuán)隊編程圖書問世,在同等圖書中長期排名前列。2007年9月,圖書版權(quán)輸出到臺灣,目前已經(jīng)有近20本圖書版權(quán)輸出到臺灣。2009年11月,圖書已形成軟件工程師入門、軟件工程師典藏等多個系列,共200多本圖書。2011年,編程詞典(個人版)和編程詞典(珍藏版)系列軟件隆重上市!禞ava從入門到精通》持續(xù)八年暢銷全行業(yè)優(yōu)秀暢銷書長期位居Java銷售排行榜前列暢銷書[1-2]
第1篇 基礎(chǔ)篇
第1章 認(rèn)識GUI窗體開發(fā) 1.1 什么是GUI 3 1.2 常用的Python GUI框架 3 1.2.1 tkinter模塊 3 1.2.2 PyQt5模塊 4 1.2.3 其他常用GUI開發(fā)庫 5 第2章 搭建開發(fā)環(huán)境 2.1 Python的下載與安裝 8 2.1.1 下載Python 8 2.1.2 安裝Python 10 2.1.3 測試Python是否安裝成功 12 2.1.4 Python安裝失敗的解決方法 12 2.1.5 測試tkinter是否可用 14 2.2 PyCharm開發(fā)工具的下載與安裝 14 2.2.1 下載PyCharm 14 2.2.2 安裝PyCharm 15 2.2.3 啟動并配置PyCharm 16 2.3 在PyCharm中配置PyQt5環(huán)境 19 2.3.1 安裝PyQt5相關(guān)模塊 19 2.3.2 配置PyQt5設(shè)計器及轉(zhuǎn)換工具 21 第3章 數(shù)據(jù)庫編程基礎(chǔ) 3.1 MySQL的安裝與配置 26 3.1.1 MySQL簡介 26 3.1.2 下載MySQL 26 3.1.3 安裝MySQL 27 3.1.4 配置MySQL 28 3.2 數(shù)據(jù)庫操作 29 3.2.1 創(chuàng)建數(shù)據(jù)庫 30 3.2.2 查看數(shù)據(jù)庫 30 3.2.3 刪除數(shù)據(jù)庫 31 3.3 數(shù)據(jù)表操作 31 3.3.1 創(chuàng)建數(shù)據(jù)表 31 3.3.2 查看數(shù)據(jù)表 32 3.3.3 修改表結(jié)構(gòu) 33 3.3.4 刪除數(shù)據(jù)表 34 3.4 數(shù)據(jù)類型 35 3.4.1 數(shù)字類型 35 3.4.2 字符串類型 36 3.4.3 日期和時間類型 37 3.5 數(shù)據(jù)的增查改刪 37 3.5.1 增加數(shù)據(jù) 37 3.5.2 查詢數(shù)據(jù) 38 3.5.3 修改數(shù)據(jù) 41 3.5.4 刪除數(shù)據(jù) 42 3.6 PyMySQL操作數(shù)據(jù)庫 42 3.6.1 安裝PyMySQL 42 3.6.2 連接數(shù)據(jù)庫 43 3.6.3 游標(biāo)對象 43 【實例3.1】向mrsoft數(shù)據(jù)庫中添加books數(shù)據(jù)表 44 3.6.4 操作數(shù)據(jù)庫 45 【實例3.2】向books數(shù)據(jù)表添加圖書數(shù)據(jù) 45 3.7 ORM模型 46 3.7.1 ORM簡介 46 3.7.2 常用的ORM庫 48 3.8 綜合案例——從數(shù)據(jù)庫查詢并篩選數(shù)據(jù) 48 3.9 實戰(zhàn)練習(xí) 49 第2篇 tkinter模塊實戰(zhàn)篇 第4章 tkinter窗口設(shè)計基礎(chǔ) 4.1 創(chuàng)建窗口 52 4.2 設(shè)置窗口屬性 52 【實例4.1】為窗口添加標(biāo)題 53 4.3 設(shè)置窗口位置 53 【實例4.2】設(shè)置窗口大小以及位置 54 4.4 tkinter窗口設(shè)計的核心 54 4.4.1 Widget組件的分類 54 4.4.2 Widget的公共屬性 55 【實例4.3】指定窗口大小以及文字的樣式 56 4.4.3 Widget的公共方法 58 4.5 綜合案例——充值成功獲得道具 58 4.6 實戰(zhàn)練習(xí) 59 第5章 tkinter布局管理 5.1 pack()方法 61 5.1.1 pack()方法中的參數(shù)總覽 61 5.1.2 pack()方法中各參數(shù)的應(yīng)用 61 【實例5.1】設(shè)置文字的排列方式 61 【實例5.2】仿制“確認(rèn)退出本窗口”的會話框 63 【實例5.3】指定各組件的順序 64 5.2 grid()方法 65 5.2.1 grid()方法中參數(shù)設(shè)置 65 【實例5.4】顯示4以內(nèi)的乘法表 65 5.2.2 rowconfigure()方法和columnconfigure()方法設(shè)置組件的縮放比例 67 【實例5.5】實現(xiàn)在窗口的四角中添加4個方塊 67 5.3 place()方法 68 5.3.1 x、y、width以及height 69 【實例5.6】布局華容道游戲窗口 69 5.3.2 relx、rely、relwidth和relheight 69 【實例5.7】布局跟隨窗口縮放的華容道游戲窗口 70 5.4 綜合案例——顯示斗獸棋游戲規(guī)則 71 5.5 實戰(zhàn)練習(xí) 72 第6章 tkinter常用組件 6.1 文本類組件 74 6.1.1 Label標(biāo)簽組件 74 【實例6.1】用箭頭指示斗獸棋游戲中的規(guī)則 74 6.1.2 Entry單行文本框組件 76 【實例6.2】實現(xiàn)登錄賬號窗口,并且隱藏密碼 77 【實例6.3】在窗口中實現(xiàn)兩個加數(shù)的和 77 6.1.3 Text多行文本框組件 78 【實例6.4】在Text組件中添加圖片、文字以及按鈕 78 6.2 按鈕類組件 81 6.2.1 Button按鈕組件 81 【實例6.5】通過按鈕添加圖片 81 【實例6.6】實現(xiàn)簡易密碼輸入器 82 6.2.2 Radiobutton單選按鈕組件 83 【實例6.7】在窗口中顯示一則腦筋急轉(zhuǎn)彎 84 6.2.3 Checkbutton復(fù)選框組件 85 【實例6.8】實現(xiàn)問卷調(diào)查功能 86 6.3 列表類組件 86 6.3.1 Listbox列表框組件 86 【實例6.9】獲取列表框的當(dāng)前選項 87 【實例6.10】實現(xiàn)仿游戲內(nèi)編輯快捷信號的功能 88 6.3.2 OptionMenu下拉列表組件 89 【實例6.11】在下拉列表中顯示歌曲列表 90 【實例6.12】實現(xiàn)邏輯推理題 90 6.3.3 Combobox組合框組件 91 【實例6.13】以管理員的身份查看報表 92 【實例6.14】實現(xiàn)添加日程功能 92 6.4 容器類組件 93 6.4.1 Frame組件 93 【實例6.15】實現(xiàn)鼠標(biāo)懸停Frame組件上時的樣式 94 6.4.2 LabelFrame標(biāo)簽框架組件 95 6.4.3 Toplevel頂層窗口組件 95 【實例6.16】模擬游戲中玩家匹配房間的功能 96 6.4.4 Notebook選項卡組件 97 【實例6.17】仿制Win7系統(tǒng)中設(shè)置日期和時間窗口選項卡 97 【實例6.18】實現(xiàn)游戲介紹的功能 98 6.5 綜合案例——趣味測試 99 6.6 實戰(zhàn)練習(xí) 100 第7章 會話框與菜單 7.1 messagebox會話框模塊 102 7.1.1 會話框的分類 102 7.1.2 各類會話框的使用 102 【實例7.1】模擬游戲中老玩家回歸游戲的歡迎頁面 103 【實例7.2】模擬退出游戲警告框 103 【實例7.3】模擬游戲異常時顯示的提醒會話框 104 【實例7.4】制作關(guān)閉窗口提醒會話框 105 【實例7.5】制作關(guān)閉窗口會話框 105 【實例7.6】制作退出應(yīng)用提醒會話框 106 【實例7.7】模擬打開游戲失敗時,是否重啟游戲的會話框 107 7.2 菜單組件 107 7.2.1 Menu組件的基本使用 108 【實例7.8】為游戲窗口添加菜單 108 7.2.2 制作二級下拉菜單 108 【實例7.9】為城市列表添加彈出式菜單 110 7.2.3 為菜單添加快捷鍵 110 【實例7.10】設(shè)置窗口的文字樣式以及窗口大小 111 7.2.4 制作工具欄 112 【實例7.11】實現(xiàn)猜成語游戲 112 7.3 樹形菜單 114 7.3.1 Treeview組件的基本使用 114 【實例7.12】統(tǒng)計某游戲中各角色的類型以及操作難易程度 115 7.3.2 為樹形菜單添加圖標(biāo) 115 【實例7.13】樹形顯示近一周的天氣狀況 116 7.3.3 為樹形菜單添加子菜單 116 7.3.4 菜單項的獲取與編輯 117 【實例7.14】統(tǒng)計個人出行記錄 118 7.4 綜合案例——眼力測試小游戲 121 7.5 實戰(zhàn)練習(xí) 123 第8章 canvas繪圖 8.1 canvas簡介 125 【實例8.1】在窗口中創(chuàng)建畫布 125 8.2 繪制基本圖形 125 8.2.1 繪制線條 125 【實例8.2】使用線條繪制五角星 126 8.2.2 繪制矩形 126 【實例8.3】通過鍵盤控制正方形移動 127 8.2.3 繪制橢圓 127 【實例8.4】繪制簡筆畫人臉 128 8.2.4 繪制圓弧與扇形 128 【實例8.5】繪制西瓜形狀的雪糕 129 8.2.5 繪制多邊形 129 【實例8.6】繪制七巧板拼接的松鼠圖案 129 8.2.6 繪制文字 130 【實例8.7】繪制隨機(jī)顏色和字體的文字 130 8.2.7 繪制圖像 131 【實例8.8】用鼠標(biāo)拖動小鳥,幫小鳥回家 131 8.3 拖動鼠標(biāo)繪制圖形 132 【實例8.9】在窗口中進(jìn)行書法秀 132 8.4 canvas組件設(shè)計動畫 133 【實例8.10】實現(xiàn)游戲小貓釣魚 133 8.5 綜合案例——碰壁的小球 135 8.6 實戰(zhàn)練習(xí) 136 第9章 鼠標(biāo)鍵盤事件處理 9.1 鼠標(biāo)事件 138 9.2 鍵盤事件 139 【實例9.1】模擬貪吃蛇游戲中通過鍵盤控制蛇的移動方向 140 9.3 綁定多個事件處理程序 141 9.4 取消事件的綁定 142 【實例9.2】鍵盤控制方塊只能在窗口內(nèi)移動 142 9.5 綜合案例—找顏色眼力測試游戲 143 9.6 實戰(zhàn)練習(xí) 145 第10章 【案例】滾動大抽獎(tkinter+random+文件讀寫技術(shù)實現(xiàn)) 10.1 案例效果預(yù)覽 146 10.2 案例準(zhǔn)備 147 10.3 業(yè)務(wù)流程 147 10.4 實現(xiàn)過程 148 10.4.1 實現(xiàn)窗口布局 148 10.4.2 實現(xiàn)滾動抽獎 148 10.4.3 實現(xiàn)不重復(fù)中獎 149 第11章 【案例】挑戰(zhàn)10秒小程序(tkinter+random+messagebox+計時器實現(xiàn)) 11.1 案例效果預(yù)覽 150 11.2 案例準(zhǔn)備 150 11.3 業(yè)務(wù)流程 151 11.4 實現(xiàn)過程 151 11.4.1 實現(xiàn)窗口布局 151 11.4.2 判斷挑戰(zhàn)開始與結(jié)束和挑戰(zhàn)結(jié)果 153 11.4.3 實現(xiàn)計時功能 153 第12章 【案例】音樂機(jī)器人(tkinter+winsound+random實現(xiàn)) 12.1 案例效果預(yù)覽 154 12.2 案例準(zhǔn)備 155 12.3 業(yè)務(wù)流程 155 12.4 實現(xiàn)過程 155 12.4.1 實現(xiàn)窗口布局 155 12.4.2 實現(xiàn)倒計時 156 12.4.3 實現(xiàn)隨機(jī)播放音樂 157 第13章 【案例】九宮格切圖器(tkinter+Pillow實現(xiàn)) 13.1 案例效果預(yù)覽 158 13.2 案例準(zhǔn)備 159 13.3 業(yè)務(wù)流程 159 13.4 實現(xiàn)過程 160 13.4.1 實現(xiàn)窗口布局 160 13.4.2 預(yù)覽圖片和顯示圖片路徑 161 13.4.3 實現(xiàn)切圖 161 13.4.4 保存切好的圖片 162 第14章 【案例】無人機(jī)編程挑戰(zhàn)(tkinter+winsound+Pillow實現(xiàn)) 14.1 案例效果預(yù)覽 163 14.2 案例準(zhǔn)備 165 14.3 業(yè)務(wù)流程 165 14.4 實現(xiàn)過程 166 14.4.1 實現(xiàn)登錄窗口布局 166 14.4.2 實現(xiàn)挑戰(zhàn)任務(wù)窗口 167 14.4.3 挑戰(zhàn)流程展示 169 14.4.4 執(zhí)行挑戰(zhàn)任務(wù) 170 14.4.5 挑戰(zhàn)成功窗口展示 172 第15章 【案例】模擬“斗地主”發(fā)牌和碼牌(tkinter + random + Pillow實現(xiàn)) 15.1 案例效果預(yù)覽 174 15.2 案例準(zhǔn)備 175 15.3 業(yè)務(wù)流程 175 15.4 實現(xiàn)過程 175 15.4.1 實現(xiàn)窗口布局 175 15.4.2 玩家叫地主 176 15.4.3 實現(xiàn)發(fā)牌功能 177 15.4.4 實現(xiàn)碼牌功能 179 15.4.5 實現(xiàn)重新開始 179 第3篇 PyQt5模塊實戰(zhàn)篇 第16章 PyQt5窗口設(shè)計基礎(chǔ) 16.1 認(rèn)識Qt Designer 183 16.1.1 幾種常用的窗口類型 183 16.1.2 熟悉Qt Designer窗口區(qū)域 184 16.2 使用Qt Designer創(chuàng)建窗口 187 16.2.1 創(chuàng)建主窗口 187 16.2.2 設(shè)計主窗口 188 16.2.3 預(yù)覽窗口效果 188 16.2.4 將.ui文件轉(zhuǎn)換為.py文件 189 16.2.5 運(yùn)行主窗口 189 16.3 窗口的個性化設(shè)置 190 16.3.1 基本屬性設(shè)置 191 16.3.2 更換窗口的圖標(biāo) 192 16.3.3 設(shè)置窗口的背景 193 16.3.4 控制窗口透明度 199 16.3.5 設(shè)置窗口樣式 199 16.4 信號與槽 201 16.4.1 信號與槽的基本概念 201 16.4.2 編輯信號與槽 201 16.4.3 自定義槽 203 【實例16.1】信號與自定義槽的綁定 203 16.4.4 將自定義槽連接到信號 203 16.5 多窗口設(shè)計 203 16.5.1 多窗口的建立 204 【實例16.2】創(chuàng)建并打開多窗口 204 16.5.2 設(shè)置啟動窗口 205 16.5.3 窗口之間的關(guān)聯(lián) 205 16.6 UI與邏輯代碼分離 206 16.7 綜合案例——設(shè)置窗口在桌面上居中顯示 206 16.8 實戰(zhàn)練習(xí) 207 第17章 PyQt5常用控件 17.1 控件概述 209 17.1.1 認(rèn)識控件 209 17.1.2 控件的命名規(guī)范 210 17.2 文本類控件 210 17.2.1 Label:標(biāo)簽控件 210 17.2.2 LineEdit:單行文本框 212 【實例17.1】包括用戶名和密碼的登錄窗口 213 17.2.3 TextEdit:多行文本框 214 17.2.4 SpinBox:數(shù)字選擇控件 215 【實例17.2】獲取SpinBox中選擇的數(shù)字 215 17.3 按鈕類控件 216 17.3.1 PushButton:按鈕 216 【實例17.3】制作登錄窗口 217 17.3.2 RadioButton:單選按鈕 217 【實例17.4】選擇用戶登錄角色 218 17.3.3 CheckBox:復(fù)選框 219 【實例17.5】設(shè)置用戶權(quán)限 219 17.4 選擇列表類控件 220 17.4.1 ComboBox:下拉組合框 220 【實例17.6】在下拉列表中選擇職位 220 17.4.2 FontComboBox:字體組合框 221 17.4.3 ListWidget:列表 222 【實例17.7】用列表展示編程語言排行榜 223 17.5 容器控件 224 17.5.1 GroupBox:分組框 224 17.5.2 TabWidget:選項卡 224 【實例17.8】選項卡的動態(tài)添加和刪除 225 17.5.3 ToolBox:工具盒 226 【實例17.9】仿QQ抽屜效果 226 17.6 日期時間類控件 228 17.6.1 日期和(或)時間控件 228 17.6.2 CalendarWidget:日歷控件 230 17.7 進(jìn)度條類控件 231 17.7.1 ProgressBar:進(jìn)度條 231 【實例17.10】模擬一個跑馬燈效果 232 17.7.2 QSlider:滑塊 234 17.8 樹控件 235 17.8.1 TreeView:樹視圖 235 【實例17.11】顯示系統(tǒng)文件目錄 237 17.8.2 TreeWidget:樹控件 238 【實例17.12】使用TreeWidget顯示樹結(jié)構(gòu) 238 17.9 QTimer:計時器 241 17.10 綜合案例——雙色球彩票選號器 241 17.11 實戰(zhàn)練習(xí) 243 第18章 菜單、工具欄和狀態(tài)欄 18.1 菜單 245 18.1.1 菜單基礎(chǔ)類 245 18.1.2 添加和刪除菜單 246 18.1.3 設(shè)置菜單項 247 18.1.4 為菜單設(shè)置快捷鍵 247 18.1.5 為菜單設(shè)置圖標(biāo) 247 18.1.6 菜單的功能實現(xiàn) 248 【實例18.1】單擊菜單項彈出信息提示框 248 18.2 工具欄 250 18.2.1 工具欄類:QToolBar 250 18.2.2 添加工具欄 251 18.2.3 為工具欄添加圖標(biāo)按鈕 251 18.2.4 一次為工具欄添加多個圖標(biāo)按鈕 251 18.2.5 向工具欄中添加其他控件 251 18.2.6 設(shè)置工具欄按鈕的大小 252 18.2.7 工具欄的單擊功能實現(xiàn) 252 【實例18.2】獲取單擊的工具欄按鈕 252 18.3 狀態(tài)欄 254 18.3.1 狀態(tài)欄類:QStatusBar 254 18.3.2 添加狀態(tài)欄 254 18.3.3 向狀態(tài)欄中添加控件 254 18.3.4 在狀態(tài)欄中顯示和刪除臨時信息 255 18.3.5 在狀態(tài)欄中實時顯示當(dāng)前時間 256 【實例18.3】在狀態(tài)欄中實時顯示當(dāng)前時間 256 18.4 綜合案例——調(diào)用系統(tǒng)常用工具 257 18.5 實戰(zhàn)練習(xí) 258 第19章 會話框應(yīng)用 19.1 QMessageBox:會話框 260 19.1.1 會話框的種類 260 19.1.2 會話框的使用方法 260 【實例19.1】彈出5種不同的會話框 261 19.1.3 與會話框進(jìn)行交互 262 19.2 QFileDialog:文件會話框 262 19.2.1 QFileDialog類概述 262 19.2.2 使用QFileDialog選擇文件 263 【實例19.2】選擇并顯示圖片文件 263 19.2.3 使用QFileDialog選擇文件夾 265 【實例19.3】以列表顯示指定文件夾中的所有文件 265 19.3 QInputDialog:輸入會話框 265 19.3.1 QInputDialog概述 265 19.3.2 QInputDialog會話框的使用 267 【實例19.4】設(shè)計不同種類的輸入框 267 19.4 字體和顏色會話框 269 19.4.1 QFontDialog:字體會話框 269 19.4.2 QColorDialog:顏色會話框 269 19.4.3 字體和顏色會話框的使用 270 【實例19.5】動態(tài)設(shè)置文本的字體和顏色 270 19.5 綜合案例——設(shè)計個性簽名 272 19.6 實戰(zhàn)練習(xí) 273 第20章 布局管理 20.1 線性布局 275 20.1.1 VerticalLayout:垂直布局 275 20.1.2 HorizontalLayout:水平布局 276 20.2 GridLayout:網(wǎng)格布局 277 【實例20.1】使用網(wǎng)格布局登錄窗口 278 20.3 FormLayout:表單布局 280 【實例20.2】使用表單布局登錄窗口 280 20.4 布局管理器的嵌套 282 20.5 綜合案例——設(shè)計微信聊天窗口 283 20.6 實戰(zhàn)練習(xí) 284 第21章 PyQt5繪圖技術(shù) 21.1 PyQt5繪圖基礎(chǔ) 286 【實例21.1】使用QPainter繪制圖形 286 21.2 設(shè)置畫筆與畫刷 287 21.2.1 設(shè)置畫筆:QPen 287 【實例21.2】展示不同的畫筆樣式 287 21.2.2 設(shè)置畫刷:QBrush 288 【實例21.3】展示不同的畫刷樣式 289 21.3 繪制文本 292 21.3.1 設(shè)置字體:QFont 292 21.3.2 繪制文本內(nèi)容:drawText() 293 21.4 繪制圖像 293 【實例21.4】繪制公司Logo 294 21.5 綜合案例——繪制帶噪點和干擾線的驗證碼 294 21.6 實戰(zhàn)練習(xí) 296 第22章 【案例】DIY字符畫—PyQt5+sys+_thread+time+PIL+numpy實現(xiàn) 22.1 案例效果預(yù)覽 297 22.2 案例準(zhǔn)備 299 22.3 業(yè)務(wù)流程 299 22.4 實現(xiàn)過程 299 22.4.1 設(shè)計主窗體 299 22.4.2 將.ui與.qrc文件轉(zhuǎn)換為.py文件 302 22.4.3 主窗體的顯示 302 22.4.4 創(chuàng)建字符畫轉(zhuǎn)換文件 303 22.4.5 關(guān)聯(lián)主窗體 304 第23章 【案例】為圖片批量添加水印——PyQt5+PIL模塊實現(xiàn) 23.1 案例效果預(yù)覽 306 23.2 案例準(zhǔn)備 307 23.3 業(yè)務(wù)流程 307 23.4 實現(xiàn)過程 308 23.4.1 設(shè)計窗體 308 23.4.2 初始化窗體設(shè)置 309 23.4.3 加載圖片列表 309 23.4.4 設(shè)置水印字體 311 23.4.5 選擇水印圖片 311 23.4.6 選擇水印圖片保存路徑 312 23.4.7 為圖片添加水印 313 第24章 【案例】二手房銷售預(yù)測分析——PyQt5+matplotlib+sklearn+pandas實現(xiàn) 24.1 案例效果預(yù)覽 316 24.2 案例準(zhǔn)備 318 24.2.1 開發(fā)工具準(zhǔn)備 318 24.2.2 技術(shù)準(zhǔn)備 319 24.3 業(yè)務(wù)流程 322 24.4 實現(xiàn)過程 323 24.4.1 實現(xiàn)圖表工具模塊 323 24.4.2 清洗數(shù)據(jù) 325 24.4.3 各區(qū)二手房均價分析 326 24.4.4 各區(qū)房子數(shù)量比例 326 24.4.5 全市二手房裝修程度分析 327 24.4.6 熱門戶型均價分析 327 24.4.7 二手房售價預(yù)測 328 第25章 【案例】影視作品可視化分析——PyQt5+pyecharts+wordcloud+json模塊+request實現(xiàn) 25.1 案例效果預(yù)覽 331 25.2 案例準(zhǔn)備 332 25.3 業(yè)務(wù)流程 332 25.4 主窗體設(shè)計 333 25.4.1 實現(xiàn)主窗體 333 25.4.2 查看部分的隱藏與顯示 334 25.4.3 下拉列表處理 334 25.5 數(shù)據(jù)分析與處理 336 25.5.1 獲取數(shù)據(jù) 336 25.5.2 生成全國熱力圖 337 25.5.3 生成主要城市評論數(shù)及平均分 338 25.5.4 生成云圖 338 25.6 點擊查看顯示內(nèi)容 339 25.6.1 創(chuàng)建顯示html頁面窗體 339 25.6.2 創(chuàng)建顯示圖片窗體 340 25.6.3 綁定查詢按鈕單擊事件 340 第26章 【案例】AI智能語音識別——PyQt5+Baidu.AI+ffmpeg多媒體工具實現(xiàn) 26.1 案例效果預(yù)覽 342 26.2 案例準(zhǔn)備 343 26.3 業(yè)務(wù)流程 343 26.4 實現(xiàn)過程 343 26.4.1 準(zhǔn)備百度云AI開發(fā)模塊 343 26.4.2 設(shè)計窗體 347 26.4.3 創(chuàng)建語音識別對象 348 26.4.4 將文本合成語音文件 348 26.4.5 將語音識別為文本 349 第27章 【案例】AI圖像識別工具——PyQt5+百度API+json+Base64實現(xiàn) 27.1 案例效果預(yù)覽 351 27.2 案例準(zhǔn)備 353 27.2.1 開發(fā)工具準(zhǔn)備 353 27.2.2 技術(shù)準(zhǔn)備 353 27.3 業(yè)務(wù)流程 355 27.4 實現(xiàn)過程 355 27.4.1 設(shè)計窗體 355 27.4.2 添加分類 356 27.4.3 選擇識別的圖片 356 27.4.4 銀行卡圖像識別 358 27.4.5 植物圖像識別 359 27.4.6 復(fù)制識別結(jié)果到剪貼板 360 第4篇 項目強(qiáng)化篇 第28章 自制畫板——tkinter+PIL模塊+time實現(xiàn) 28.1 系統(tǒng)需求分析 364 28.1.1 系統(tǒng)概述 364 28.1.2 系統(tǒng)可行性分析 364 28.1.3 功能性需求分析 364 28.2 系統(tǒng)功能設(shè)計 365 28.2.1 系統(tǒng)功能結(jié)構(gòu) 365 28.2.2 系統(tǒng)業(yè)務(wù)流程 365 28.2.3 系統(tǒng)預(yù)覽 365 28.3 系統(tǒng)開發(fā)必備 366 28.3.1 系統(tǒng)開發(fā)環(huán)境 366 28.3.2 文件夾組織結(jié)構(gòu) 367 28.4 使用鼠標(biāo)畫圖功能實現(xiàn) 367 28.4.1 功能概述 367 28.4.2 實現(xiàn)主窗口 367 28.4.3 實現(xiàn)按下鼠標(biāo)時,記錄鼠標(biāo)位置 368 28.4.4 實現(xiàn)移動鼠標(biāo)時,繪制圖形 368 28.4.5 實現(xiàn)抬起鼠標(biāo)時,停止作畫 370 28.5 菜單欄實現(xiàn) 370 28.5.1 定義菜單欄 370 28.5.2 菜單欄功能實現(xiàn) 371 28.6 工具欄實現(xiàn) 372 28.6.1 顏色面板設(shè)計 372 28.6.2 設(shè)置顏色功能 374 28.6.3 繪圖工具面板設(shè)計 375 28.6.4 繪圖工具實現(xiàn) 376 28.6.5 設(shè)置線條粗細(xì) 377 第29章 Excel數(shù)據(jù)分析系統(tǒng)——PyQt5+pandas+xlrd+xlwt+matplotlib實現(xiàn) 29.1 系統(tǒng)需求分析 379 29.1.1 系統(tǒng)概述 379 29.1.2 系統(tǒng)可行性分析 379 29.1.3 系統(tǒng)用戶角色分配 379 29.1.4 功能性需求分析 379 29.1.5 非功能性需求分析 379 29.2 系統(tǒng)功能設(shè)計 380 29.2.1 系統(tǒng)功能結(jié)構(gòu) 380 29.2.2 系統(tǒng)業(yè)務(wù)流程 380 29.2.3 系統(tǒng)預(yù)覽 381 29.3 系統(tǒng)開發(fā)必備 384 29.3.1 系統(tǒng)開發(fā)環(huán)境 384 29.3.2 pandas模塊基礎(chǔ)應(yīng)用 384 29.4 窗體UI設(shè)計 386 29.4.1 創(chuàng)建窗體 386 29.4.2 工具欄設(shè)計 387 29.4.3 其他布局與設(shè)置 389 29.4.4 將ui文件轉(zhuǎn)換為py文件 389 29.5 功能代碼設(shè)計 391 29.5.1 導(dǎo)入Excel文件 391 29.5.2 讀取Excel數(shù)據(jù) 392 29.5.3 設(shè)置文件存儲路徑 392 29.5.4 保存數(shù)據(jù)到Excel 393 29.5.5 提取列數(shù)據(jù) 393 29.5.6 定向篩選 393 29.5.7 多表合并 395 29.5.8 多表統(tǒng)計排行 395 29.5.9 生成圖表(貢獻(xiàn)度分析) 396 第30章 PyQt5程序的打包發(fā)布 30.1 安裝Pyinstaller模塊 400 30.2 打包普通Python程序 400 30.3 打包PyQt5程序 402 30.4 打包資源文件 403
你還可能感興趣
我要評論
|