《PyQt從入門到精通》從初學(xué)者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細(xì)介紹了使用PyQt5進(jìn)行Python GUI應(yīng)用程序開發(fā)應(yīng)該掌握的各方面技術(shù)。全書共分20章,包括PyQt5入門,Python的下載與安裝,搭建PyQt5開發(fā)環(huán)境,Python語言基礎(chǔ),Python中的序列,Python面向?qū)ο蠡A(chǔ),創(chuàng)建*個PyQt5程序,PyQt5窗口設(shè)計基礎(chǔ),PyQt5常用控件的使用,PyQt5布局管理,菜單、工具欄和狀態(tài)欄,PyQt5高級控件的使用,對話框的使用,使用Python操作數(shù)據(jù)庫,表格控件的使用,文件及文件夾操作,PyQt5繪圖技術(shù),多線程編程,PyQt5程序的打包發(fā)布,學(xué)生信息管理系統(tǒng)(PyQt5 MySQL PyMySQL模塊實現(xiàn))等。
《PyQt從入門到精通》從零基礎(chǔ)開始,提供了從PyQt入門到編程高手所必需的各項知識。無論有沒有Python基礎(chǔ),通過本書你都能最終成為GUI與數(shù)據(jù)可視化高手。
(1)主流技術(shù),全面解析。本書涵蓋PyQt5常用控件、PyQt5布局管理、PyQt5高級控件、PyQt5繪圖技術(shù)、多線程編程以及PyQt5程序的打包發(fā)布等技術(shù),一本書教你掌握PyQt5開發(fā)的主流核心技術(shù)。
(2)由淺入深,循序漸進(jìn)。本書引領(lǐng)讀者按照基礎(chǔ)知識→核心技術(shù)→高級應(yīng)用→項目實戰(zhàn)循序漸進(jìn)地學(xué)習(xí),符合認(rèn)知規(guī)律。
(3)邊學(xué)邊練,學(xué)以致用。85個應(yīng)用示例+1個行業(yè)項目案例+136集Python零基礎(chǔ)掃盲課,邊學(xué)邊練,在實踐中提升技能。
(4)精彩欄目,貼心提醒。本書設(shè)置了很多“注意”“說明”“技巧”等小欄目,有利于讀者在學(xué)習(xí)過程中更輕松地理解相關(guān)知識點及概念,并輕松地掌握個別技術(shù)的應(yīng)用技巧。
(5)在線解答,高效學(xué)習(xí)。在線答疑QQ及技術(shù)支持網(wǎng)站,不定期進(jìn)行在線直播課程。
在大數(shù)據(jù)、人工智能應(yīng)用越來越普遍的今天,Python可以說是當(dāng)下世界上最熱門、應(yīng)用最廣泛的編程語言之一,人工智能、爬蟲、數(shù)據(jù)分析、游戲、自動化運(yùn)維等各個方面,無處不見其身影。這些開發(fā)的前提是需要界面來進(jìn)行支撐的,PyQt5作為最強(qiáng)大的GUI界面開發(fā)庫之一,無疑成為Python開發(fā)人員的必備基礎(chǔ)。
本書提供了從PyQt5入門到編程高手所必備的各類知識,共分4篇。
第1篇:基礎(chǔ)知識。本篇主要包括PyQt5入門、Python的下載與安裝、搭建PyQt5開發(fā)環(huán)境、Python語言基礎(chǔ)、Python中的序列、Python面向?qū)ο蠡A(chǔ)、創(chuàng)建第一個PyQt5程序以及PyQt5窗口設(shè)計基礎(chǔ)等內(nèi)容。本篇結(jié)合大量的圖示、實例等,使讀者快速掌握PyQt5開發(fā)的必備知識,為以后編程奠定堅實的基礎(chǔ)。
第2篇:核心技術(shù)。本篇介紹PyQt5常用控件的使用,PyQt5布局管理,菜單、工具欄和狀態(tài)欄,PyQt5高級控件的使用,對話框的使用,使用Python操作數(shù)據(jù)庫,表格控件的使用等內(nèi)容。學(xué)習(xí)完這一部分,能夠開發(fā)一些小型應(yīng)用程序。
第3篇:高級應(yīng)用。本篇介紹文件及文件夾操作、PyQt5繪圖技術(shù)、多線程編程以及PyQt5程序的打包發(fā)布。學(xué)習(xí)完這一部分,能夠開發(fā)文件流程序、圖形圖像程序、多線程應(yīng)用程序等,并能夠?qū)yQt5程序進(jìn)行打包。
第4篇:項目實戰(zhàn)。本篇通過一個中小型、完整的學(xué)生信息管理系統(tǒng),運(yùn)用軟件工程的設(shè)計思想,讓讀者學(xué)習(xí)如何進(jìn)行軟件項目的實踐開發(fā)。書中按照“需求分析→系統(tǒng)設(shè)計→數(shù)據(jù)庫設(shè)計→公共模塊設(shè)計→實現(xiàn)項目”的流程進(jìn)行介紹,帶領(lǐng)讀者一步一步親身體驗開發(fā)項目的全過程。
本書特點
由淺入深,循序漸進(jìn)。本書以初、中級程序員為對象,采用圖文結(jié)合、循序漸進(jìn)的編排方式,從PyQt5開發(fā)環(huán)境的搭建到PyQt5的核心技術(shù)應(yīng)用,最后通過一個完整的實戰(zhàn)項目,對使用PyQt5進(jìn)行Python GUI開發(fā)進(jìn)行了詳細(xì)講解,幫助讀者快速掌握PyQt5開發(fā)技術(shù),全面提升開發(fā)經(jīng)驗。
實例典型,輕松易學(xué)。通過例子學(xué)習(xí)是最好的學(xué)習(xí)方式,本書通過“一個知識點、一個例子、一個結(jié)果、一段評析”的模式,透徹詳盡地講述了實際開發(fā)中所需的各類知識。另外,為了便于讀者閱讀程序代碼,快速學(xué)習(xí)編程技能,為書中幾乎為每行代碼都提供了注釋。
項目實戰(zhàn),經(jīng)驗累積。本書通過一個完整的實戰(zhàn)項目,講解實際項目的完整開發(fā)過程,帶領(lǐng)讀者親身體驗項目開發(fā)的全過程,積累項目經(jīng)驗。
精彩欄目,貼心提醒。本書根據(jù)需要在各章使用了很多“注意”“說明”“技巧”等小欄目,讓讀者可以在學(xué)習(xí)過程中更輕松地理解相關(guān)知識點及概念,并輕松地掌握相關(guān)技術(shù)的應(yīng)用技巧。
讀者對象:初學(xué)編程的自學(xué)者、編程愛好者、大中專院校的老師和學(xué)生、相關(guān)培訓(xùn)機(jī)構(gòu)的老師和學(xué)員、 畢業(yè)設(shè)計的學(xué)生、初中級程序開發(fā)人員、程序測試及維護(hù)人員、參加實習(xí)的“菜鳥”程序員。
讀者服務(wù):本書附贈的各類學(xué)習(xí)資源,讀者可登錄清華大學(xué)出版社網(wǎng)站,在對應(yīng)圖書頁面下獲取其下載方式。也可掃描圖書封底的“文泉云盤”二維碼,獲取其下載方式。
感謝您購買本書,希望本書能成為您編程路上的領(lǐng)航者。
“零門檻”編程,一切皆有可能。
祝讀書快樂!
明日科技,全稱是吉林省明日科技有限公司,是一家專業(yè)從事軟件開發(fā)、教育培訓(xùn)以及軟件開發(fā)教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發(fā)中的必需、常用內(nèi)容,同時也很注重內(nèi)容的易學(xué)、方便性以及相關(guān)知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業(yè)優(yōu)秀暢銷品種”“全國高校出版社優(yōu)秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。
第1篇 基礎(chǔ)知識
第1章 PyQt5入門 2
1.1 Python語言介紹 2
1.1.1 了解Python 2
1.1.2 Python的版本 3
1.1.3 Python的應(yīng)用領(lǐng)域 3
1.2 GUI與PyQt5 5
1.2.1 GUI簡介 5
1.2.2 什么是PyQt5 6
1.2.3 PyQt5與Qt的關(guān)系 7
1.2.4 PyQt5的主要模塊 8
1.2.5 其他常用GUI開發(fā)庫 9
1.3 小結(jié) 10
第2章 Python的下載與安裝 11
2.1 Python環(huán)境概述 11
2.2 在Windows系統(tǒng)中安裝Python 12
2.2.1 下載Python 12
2.2.2 安裝Python 13
2.2.3 測試Python安裝是否成功 15
2.2.4 Python安裝失敗的解決方法 16
2.3 在Linux系統(tǒng)中安裝Python 18
2.3.1 通過虛擬機(jī)安裝Ubuntu系統(tǒng) 18
2.3.2 使用并更新已有Python 20
2.3.3 重新安裝Python 23
2.4 在Mac OS系統(tǒng)中安裝Python 27
2.4.1 下載安裝文件 27
2.4.2 安裝Python 28
2.4.3 安裝安全證書 30
2.4.4 打開并使用Python 31
2.4.5 更新pip及換源 32
2.5 小結(jié) 33
第3章 搭建PyQt5開發(fā)環(huán)境 34
3.1 PyCharm開發(fā)工具的下載與安裝 34
3.1.1 下載PyCharm 34
3.1.2 安裝PyCharm 35
3.1.3 啟動并配置PyCharm 36
3.2 在PyCharm中配置PyQt5環(huán)境 38
3.2.1 安裝PyQt5及設(shè)計器 38
3.2.2 配置PyQt5設(shè)計器及轉(zhuǎn)換工具 42
3.3 小結(jié) 44
第4章 Python語言基礎(chǔ) 45
4.1 變量 45
4.1.1 變量的命名和賦值 45
4.1.2 變量的基本類型 46
4.1.3 變量的輸入與輸出 49
4.2 運(yùn)算符 51
4.2.1 算術(shù)運(yùn)算符 51
4.2.2 賦值運(yùn)算符 52
4.2.3 比較(關(guān)系)運(yùn)算符 53
4.2.4 邏輯運(yùn)算符 54
4.2.5 位運(yùn)算 55
4.3 流程控制語句 58
4.3.1 順序結(jié)構(gòu) 58
4.3.2 條件分支結(jié)構(gòu) 59
4.3.3 循環(huán)結(jié)構(gòu) 63
4.4 小結(jié) 70
第5章 Python中的序列 71
5.1 列表與元組 71
5.1.1 列表的創(chuàng)建 71
5.1.2 檢測列表元素 73
5.1.3 列表截取—切片 73
5.1.4 列表的拼接 74
5.1.5 遍歷列表 75
5.1.6 列表排序 77
5.1.7 元組 79
5.2 字典與集合 82
5.2.1 字典的定義 82
5.2.2 遍歷字典 85
5.2.3 集合簡介 86
5.3 小結(jié) 87
第6章 Python面向?qū)ο蠡A(chǔ) 88
6.1 函數(shù) 88
6.1.1 函數(shù)的定義 88
6.1.2 調(diào)用函數(shù) 90
6.1.3 參數(shù)傳遞 91
6.2 面向?qū)ο缶幊袒A(chǔ) 96
6.2.1 面向?qū)ο蟾攀?96
6.2.2 類的定義和使用 98
6.3 小結(jié) 106
第7章 創(chuàng)建第一個PyQt5程序 107
7.1 認(rèn)識Qt Designer 107
7.1.1 幾種常用的窗口類型 107
7.1.2 熟悉Qt Designer窗口區(qū)域 110
7.2 使用Qt Designer創(chuàng)建窗口 114
7.2.1 MainWindow介紹 114
7.2.2 創(chuàng)建主窗口 114
7.2.3 設(shè)計主窗口 114
7.2.4 預(yù)覽窗口效果 115
7.2.5 查看Python代碼 116
7.2.6 將.ui文件轉(zhuǎn)換為.py文件 116
7.2.7 運(yùn)行主窗口 117
7.3 小結(jié) 118
第8章 PyQt5窗口設(shè)計基礎(chǔ) 119
8.1 熟悉窗口的屬性 119
8.2 對窗口進(jìn)行個性化設(shè)置 120
8.2.1 基本屬性設(shè)置 120
8.2.2 更換窗口的圖標(biāo) 122
8.2.3 設(shè)置窗口的背景 123
8.2.4 控制窗口透明度 130
8.2.5 設(shè)置窗口樣式 131
8.3 信號與槽機(jī)制 132
8.3.1 信號與槽的基本概念 132
8.3.2 編輯信號與槽 133
8.3.3 自定義槽 135
8.3.4 將自定義槽連接到信號 135
8.4 多窗口設(shè)計 135
8.4.1 多窗口的建立 136
8.4.2 設(shè)置啟動窗口 137
8.4.3 窗口之間的關(guān)聯(lián) 137
8.5 小結(jié) 138
第2篇 核心技術(shù)
第9章 PyQt5常用控件的使用 140
9.1 控件概述 140
9.1.1 認(rèn)識控件 140
9.1.2 控件的命名規(guī)范 141
9.2 文本類控件 142
9.2.1 Label:標(biāo)簽控件 142
9.2.2 LineEdit:單行文本框 145
9.2.3 TextEdit:多行文本框 147
9.2.4 SpinBox:整數(shù)數(shù)字選擇控件 148
9.2.5 DoubleSpinBox:小數(shù)數(shù)字選擇控件 149
9.2.6 LCDNumber:液晶數(shù)字顯示控件 150
9.3 按鈕類控件 152
9.3.1 PushButton:按鈕 152
9.3.2 ToolButton:工具按鈕 154
9.3.3 CommandLinkButton:命令鏈接按鈕 155
9.3.4 RadioButton:單選按鈕 156
9.3.5 CheckBox:復(fù)選框 158
9.4 選擇列表類控件 160
9.4.1 ComboBox:下拉組合框 160
9.4.2 FontComboBox:字體組合框 161
9.4.3 ListWidget:列表 162
9.5 容器控件 164
9.5.1 GroupBox:分組框 164
9.5.2 TabWidget:選項卡 165
9.5.3 ToolBox:工具盒 167
9.6 日期時間類控件 171
9.6.1 日期和(或)時間控件 171
9.6.2 CalendarWidget:日歷控件 173
9.7 小結(jié) 175
第10章 PyQt5布局管理 176
10.1 線性布局 176
10.1.1 VerticalLayout:垂直布局 177
10.1.2 HorizontalLayout:水平布局 178
10.2 GridLayout:網(wǎng)格布局 180
10.2.1 網(wǎng)格布局的基本使用 180
10.2.2 跨越行和列的網(wǎng)格布局 182
10.3 FormLayout:表單布局 184
10.4 布局管理器的嵌套 186
10.4.1 嵌套布局的基本使用 186
10.4.2 通過嵌套布局設(shè)計一個微信聊天窗口 187
10.5 MDIArea:MDI窗口設(shè)計 189
10.5.1 認(rèn)識MDI窗口 189
10.5.2 子窗口基礎(chǔ)類 190
10.5.3 MDI子窗口的動態(tài)添加及排列 191
10.6 小結(jié) 193
第11章 菜單、工具欄和狀態(tài)欄 194
11.1 菜單 194
11.1.1 菜單基礎(chǔ)類 194
11.1.2 添加和刪除菜單 196
11.1.3 設(shè)置菜單項 196
11.1.4 為菜單設(shè)置快捷鍵 197
11.1.5 為菜單設(shè)置圖標(biāo) 197
11.1.6 菜單的功能實現(xiàn) 198
11.2 工具欄 200
11.2.1 工具欄類:QToolBar 200
11.2.2 添加工具欄 201
11.2.3 為工具欄添加圖標(biāo)按鈕 201
11.2.4 一次為工具欄添加多個圖標(biāo)按鈕 202
11.2.5 向工具欄中添加其他控件 202
11.2.6 設(shè)置工具欄按鈕的大小 203
11.2.7 工具欄的單擊功能實現(xiàn) 203
11.3 狀態(tài)欄 205
11.3.1 狀態(tài)欄類:QStatusBar 205
11.3.2 添加狀態(tài)欄 206
11.3.3 向狀態(tài)欄中添加控件 206
11.3.4 在狀態(tài)欄中顯示和刪除臨時信息 206
11.3.5 在狀態(tài)欄中實時顯示當(dāng)前時間 207
11.4 小結(jié) 209
第12章 PyQt5高級控件的使用 210
12.1 進(jìn)度條類控件 210
12.1.1 ProgressBar:進(jìn)度條 210
12.1.2 自定義等待提示框 214
12.1.3 滑塊:QSlider 216
12.2 樹控件 219
12.2.1 TreeView:樹視圖 219
12.2.2 TreeWidget:樹控件 224
12.3 分割控件 227
12.3.1 分割線:QFrame 228
12.3.2 彈簧:QSpacerItem 230
12.4 其他控件 231
12.4.1 Dial:旋鈕控件 231
12.4.2 滾動條:QScrollBar 233
12.5 小結(jié) 234
第13章 對話框的使用 235
13.1 QMessageBox:對話框 235
13.1.1 對話框的種類 235
13.1.2 對話框的使用方法 236
13.1.3 與對話框進(jìn)行交互 237
13.2 QFileDialog:文件對話框 238
13.2.1 QFileDialog類概述 238
13.2.2 使用QFileDialog選擇文件 239
13.2.3 使用QFileDialog選擇文件夾 241
13.3 QInputDialog:輸入對話框 242
13.3.1 QInputDialog概述 242
13.3.2 QInputDialog對話框的使用 243
13.4 字體和顏色對話框 246
13.4.1 QFontDialog:字體對話框 246
13.4.2 QColorDialog:顏色對話框 247
13.4.3 字體和顏色對話框的使用 247
13.5 小結(jié) 249
第14章 使用Python操作數(shù)據(jù)庫 250
14.1 數(shù)據(jù)庫編程接口 250
14.1.1 連接對象 250
14.1.2 游標(biāo)對象 251
14.2 使用內(nèi)置的SQLite 252
14.2.1 創(chuàng)建數(shù)據(jù)庫文件 252
14.2.2 操作SQLite 253
14.3 MySQL數(shù)據(jù)庫的使用 257
14.3.1 下載安裝MySQL 258
14.3.2 安裝PyMySQL模塊 262
14.3.3 連接數(shù)據(jù)庫 262
14.3.4 創(chuàng)建數(shù)據(jù)表 263
14.3.5 操作MySQL數(shù)據(jù)表 265
14.4 小結(jié) 266
第15章 表格控件的使用 267
15.1 TableWidget表格控件 267
15.2 在表格中顯示數(shù)據(jù)庫數(shù)據(jù) 269
15.3 隱藏垂直標(biāo)題 270
15.4 設(shè)置最后一列自動填充容器 271
15.5 禁止編輯單元格 272
15.6 設(shè)置單元格的文本顏色 272
15.7 設(shè)置指定列的排序方式 273
15.8 在指定列中顯示圖片 273
15.9 向指定列中添加PyQt5標(biāo)準(zhǔn)控件 274
15.10 合并指定單元格 275
15.11 小結(jié) 276
第3篇 高級應(yīng)用
第16章 文件及文件夾操作 278
16.1 Python內(nèi)置的文件操作 278
16.1.1 創(chuàng)建和打開文件 278
16.1.2 關(guān)閉文件 280
16.1.3 打開文件時使用with語句 280
16.1.4 寫入文件內(nèi)容 281
16.1.5 讀取文件 282
16.1.6 復(fù)制文件 284
16.1.7 移動文件 284
16.1.8 重命名文件 285
16.1.9 刪除文件 285
16.1.10 獲取文件基本信息 286
16.2 Python內(nèi)置的文件夾操作 288
16.2.1 獲取文件夾路徑 288
16.2.2 判斷文件夾是否存在 290
16.2.3 創(chuàng)建文件夾 290
16.2.4 復(fù)制文件夾 291
16.2.5 移動文件夾 292
16.2.6 重命名文件夾 292
16.2.7 刪除文件夾 293
16.2.8 遍歷文件夾 293
16.3 PyQt5中的文件及文件夾操作 296
16.3.1 使用QFile類操作文件 296
16.3.2 使用QDir類操作文件夾 300
16.4 小結(jié) 305
第17章 PyQt5繪圖技術(shù) 306
17.1 PyQt5繪圖基礎(chǔ) 306
17.2 設(shè)置畫筆與畫刷 308
17.2.1 設(shè)置畫筆:QPen 308
17.2.2 設(shè)置畫刷:QBrush 310
17.3 繪制文本 314
17.3.1 設(shè)置字體:QFont 315
17.3.2 繪制文本 316
17.4 繪制圖像 317
17.5 小結(jié) 319
第18章 多線程編程 320
18.1 線程概述 320
18.1.1 線程的定義與分類 320
18.1.2 多線程的優(yōu)缺點 321
18.2 QTimer:計時器 322
18.3 QThread:線程類 325
18.3.1 線程的實現(xiàn) 325
18.3.2 線程的生命周期 327
18.3.3 線程的應(yīng)用 328
18.4 小結(jié) 330
第19章 PyQt5程序的打包發(fā)布 331
19.1 安裝Pyinstaller模塊 331
19.2 打包普通Python程序 332
19.3 打包PyQt5程序 333
19.4 打包資源文件 335
19.5 小結(jié) 336
第4篇 項目實戰(zhàn)
第20章 學(xué)生信息管理系統(tǒng)(PyQt5 MySQL PyMySQL模塊實現(xiàn)) 338
20.1 需求分析 338
20.2 系統(tǒng)設(shè)計 338
20.2.1 系統(tǒng)功能結(jié)構(gòu) 339
20.2.2 系統(tǒng)業(yè)務(wù)流程 339
20.2.3 系統(tǒng)預(yù)覽 340
20.3 系統(tǒng)開發(fā)必備 341
20.3.1 系統(tǒng)開發(fā)環(huán)境 341
20.3.2 系統(tǒng)組織結(jié)構(gòu) 341
20.4 數(shù)據(jù)庫設(shè)計 342
20.4.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計 342
20.4.2 數(shù)據(jù)表結(jié)構(gòu)設(shè)計 342
20.4.3 視圖設(shè)計 343
20.5 公共模塊設(shè)計 344
20.5.1 模塊導(dǎo)入及公共變量 344
20.5.2 打開數(shù)據(jù)庫連接 345
20.5.3 數(shù)據(jù)的增刪改 345
20.5.4 數(shù)據(jù)的查詢方法 346
20.6 登錄模塊設(shè)計 346
20.6.1 登錄模塊概述 346
20.6.2 模塊的導(dǎo)入 347
20.6.3 登錄功能的實現(xiàn) 347
20.6.4 退出登錄窗體 348
20.6.5 在Python中啟動登錄窗體 348
20.7 主窗體模塊設(shè)計 349
20.7.1 主窗體概述 349
20.7.2 模塊導(dǎo)入及窗體初始化 349
20.7.3 在主窗體中打開其他功能窗體 350
20.7.4 顯示當(dāng)前登錄用戶和登錄時間 351
20.8 年級設(shè)置模塊設(shè)計 351
20.8.1 年級設(shè)置模塊概述 351
20.8.2 模塊的導(dǎo)入 351
20.8.3 窗體加載時顯示所有年級信息 352
20.8.4 年級信息的添加 352
20.8.5 年級信息的修改 353
20.8.6 年級信息的刪除 354
20.9 學(xué)生信息管理模塊設(shè)計 355
20.9.1 學(xué)生信息管理模塊概述 355
20.9.2 根據(jù)年級顯示對應(yīng)班級 355
20.9.3 學(xué)生信息的查詢 356
20.9.4 添加學(xué)生信息 357
20.9.5 根據(jù)選中編號顯示學(xué)生詳細(xì)信息 358
20.9.6 修改學(xué)生信息 358
20.9.7 刪除學(xué)生信息 359
20.10 學(xué)生信息查詢模塊設(shè)計 359
20.10.1 學(xué)生信息查詢模塊概述 360
20.10.2 學(xué)生信息查詢功能的實現(xiàn) 360
20.11 小結(jié) 361