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