《PyQt從入門到精通》從初學者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用PyQt5進行Python GUI應用程序開發(fā)應該掌握的各方面技術(shù)。全書共分20章,包括PyQt5入門,Python的下載與安裝,搭建PyQt5開發(fā)環(huán)境,Python語言基礎,Python中的序列,Python面向?qū)ο蠡A,創(chuàng)建*個PyQt5程序,PyQt5窗口設計基礎,PyQt5常用控件的使用,PyQt5布局管理,菜單、工具欄和狀態(tài)欄,PyQt5高級控件的使用,對話框的使用,使用Python操作數(shù)據(jù)庫,表格控件的使用,文件及文件夾操作,PyQt5繪圖技術(shù),多線程編程,PyQt5程序的打包發(fā)布,學生信息管理系統(tǒng)(PyQt5 MySQL PyMySQL模塊實現(xiàn))等。
《PyQt從入門到精通》從零基礎開始,提供了從PyQt入門到編程高手所必需的各項知識。無論有沒有Python基礎,通過本書你都能最終成為GUI與數(shù)據(jù)可視化高手。
(1)主流技術(shù),全面解析。本書涵蓋PyQt5常用控件、PyQt5布局管理、PyQt5高級控件、PyQt5繪圖技術(shù)、多線程編程以及PyQt5程序的打包發(fā)布等技術(shù),一本書教你掌握PyQt5開發(fā)的主流核心技術(shù)。
(2)由淺入深,循序漸進。本書引領讀者按照基礎知識→核心技術(shù)→高級應用→項目實戰(zhàn)循序漸進地學習,符合認知規(guī)律。
(3)邊學邊練,學以致用。85個應用示例+1個行業(yè)項目案例+136集Python零基礎掃盲課,邊學邊練,在實踐中提升技能。
(4)精彩欄目,貼心提醒。本書設置了很多“注意”“說明”“技巧”等小欄目,有利于讀者在學習過程中更輕松地理解相關(guān)知識點及概念,并輕松地掌握個別技術(shù)的應用技巧。
(5)在線解答,高效學習。在線答疑QQ及技術(shù)支持網(wǎng)站,不定期進行在線直播課程。
在大數(shù)據(jù)、人工智能應用越來越普遍的今天,Python可以說是當下世界上最熱門、應用最廣泛的編程語言之一,人工智能、爬蟲、數(shù)據(jù)分析、游戲、自動化運維等各個方面,無處不見其身影。這些開發(fā)的前提是需要界面來進行支撐的,PyQt5作為最強大的GUI界面開發(fā)庫之一,無疑成為Python開發(fā)人員的必備基礎。
本書提供了從PyQt5入門到編程高手所必備的各類知識,共分4篇。
第1篇:基礎知識。本篇主要包括PyQt5入門、Python的下載與安裝、搭建PyQt5開發(fā)環(huán)境、Python語言基礎、Python中的序列、Python面向?qū)ο蠡A、創(chuàng)建第一個PyQt5程序以及PyQt5窗口設計基礎等內(nèi)容。本篇結(jié)合大量的圖示、實例等,使讀者快速掌握PyQt5開發(fā)的必備知識,為以后編程奠定堅實的基礎。
第2篇:核心技術(shù)。本篇介紹PyQt5常用控件的使用,PyQt5布局管理,菜單、工具欄和狀態(tài)欄,PyQt5高級控件的使用,對話框的使用,使用Python操作數(shù)據(jù)庫,表格控件的使用等內(nèi)容。學習完這一部分,能夠開發(fā)一些小型應用程序。
第3篇:高級應用。本篇介紹文件及文件夾操作、PyQt5繪圖技術(shù)、多線程編程以及PyQt5程序的打包發(fā)布。學習完這一部分,能夠開發(fā)文件流程序、圖形圖像程序、多線程應用程序等,并能夠?qū)yQt5程序進行打包。
第4篇:項目實戰(zhàn)。本篇通過一個中小型、完整的學生信息管理系統(tǒng),運用軟件工程的設計思想,讓讀者學習如何進行軟件項目的實踐開發(fā)。書中按照“需求分析→系統(tǒng)設計→數(shù)據(jù)庫設計→公共模塊設計→實現(xiàn)項目”的流程進行介紹,帶領讀者一步一步親身體驗開發(fā)項目的全過程。
本書特點
由淺入深,循序漸進。本書以初、中級程序員為對象,采用圖文結(jié)合、循序漸進的編排方式,從PyQt5開發(fā)環(huán)境的搭建到PyQt5的核心技術(shù)應用,最后通過一個完整的實戰(zhàn)項目,對使用PyQt5進行Python GUI開發(fā)進行了詳細講解,幫助讀者快速掌握PyQt5開發(fā)技術(shù),全面提升開發(fā)經(jīng)驗。
實例典型,輕松易學。通過例子學習是最好的學習方式,本書通過“一個知識點、一個例子、一個結(jié)果、一段評析”的模式,透徹詳盡地講述了實際開發(fā)中所需的各類知識。另外,為了便于讀者閱讀程序代碼,快速學習編程技能,為書中幾乎為每行代碼都提供了注釋。
項目實戰(zhàn),經(jīng)驗累積。本書通過一個完整的實戰(zhàn)項目,講解實際項目的完整開發(fā)過程,帶領讀者親身體驗項目開發(fā)的全過程,積累項目經(jīng)驗。
精彩欄目,貼心提醒。本書根據(jù)需要在各章使用了很多“注意”“說明”“技巧”等小欄目,讓讀者可以在學習過程中更輕松地理解相關(guān)知識點及概念,并輕松地掌握相關(guān)技術(shù)的應用技巧。
讀者對象:初學編程的自學者、編程愛好者、大中專院校的老師和學生、相關(guān)培訓機構(gòu)的老師和學員、 畢業(yè)設計的學生、初中級程序開發(fā)人員、程序測試及維護人員、參加實習的“菜鳥”程序員。
讀者服務:本書附贈的各類學習資源,讀者可登錄清華大學出版社網(wǎng)站,在對應圖書頁面下獲取其下載方式。也可掃描圖書封底的“文泉云盤”二維碼,獲取其下載方式。
感謝您購買本書,希望本書能成為您編程路上的領航者。
“零門檻”編程,一切皆有可能。
祝讀書快樂!
明日科技,全稱是吉林省明日科技有限公司,是一家專業(yè)從事軟件開發(fā)、教育培訓以及軟件開發(fā)教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發(fā)中的必需、常用內(nèi)容,同時也很注重內(nèi)容的易學、方便性以及相關(guān)知識的拓展性,深受讀者喜愛。其教材多次榮獲“全行業(yè)優(yōu)秀暢銷品種”“全國高校出版社優(yōu)秀暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。
第1篇 基礎知識
第1章 PyQt5入門 2
1.1 Python語言介紹 2
1.1.1 了解Python 2
1.1.2 Python的版本 3
1.1.3 Python的應用領域 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 通過虛擬機安裝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及設計器 38
3.2.2 配置PyQt5設計器及轉(zhuǎn)換工具 42
3.3 小結(jié) 44
第4章 Python語言基礎 45
4.1 變量 45
4.1.1 變量的命名和賦值 45
4.1.2 變量的基本類型 46
4.1.3 變量的輸入與輸出 49
4.2 運算符 51
4.2.1 算術(shù)運算符 51
4.2.2 賦值運算符 52
4.2.3 比較(關(guān)系)運算符 53
4.2.4 邏輯運算符 54
4.2.5 位運算 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 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 96
6.2.1 面向?qū)ο蟾攀?96
6.2.2 類的定義和使用 98
6.3 小結(jié) 106
第7章 創(chuàng)建第一個PyQt5程序 107
7.1 認識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 設計主窗口 114
7.2.4 預覽窗口效果 115
7.2.5 查看Python代碼 116
7.2.6 將.ui文件轉(zhuǎn)換為.py文件 116
7.2.7 運行主窗口 117
7.3 小結(jié) 118
第8章 PyQt5窗口設計基礎 119
8.1 熟悉窗口的屬性 119
8.2 對窗口進行個性化設置 120
8.2.1 基本屬性設置 120
8.2.2 更換窗口的圖標 122
8.2.3 設置窗口的背景 123
8.2.4 控制窗口透明度 130
8.2.5 設置窗口樣式 131
8.3 信號與槽機制 132
8.3.1 信號與槽的基本概念 132
8.3.2 編輯信號與槽 133
8.3.3 自定義槽 135
8.3.4 將自定義槽連接到信號 135
8.4 多窗口設計 135
8.4.1 多窗口的建立 136
8.4.2 設置啟動窗口 137
8.4.3 窗口之間的關(guān)聯(lián) 137
8.5 小結(jié) 138
第2篇 核心技術(shù)
第9章 PyQt5常用控件的使用 140
9.1 控件概述 140
9.1.1 認識控件 140
9.1.2 控件的命名規(guī)范 141
9.2 文本類控件 142
9.2.1 Label:標簽控件 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:復選框 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 通過嵌套布局設計一個微信聊天窗口 187
10.5 MDIArea:MDI窗口設計 189
10.5.1 認識MDI窗口 189
10.5.2 子窗口基礎類 190
10.5.3 MDI子窗口的動態(tài)添加及排列 191
10.6 小結(jié) 193
第11章 菜單、工具欄和狀態(tài)欄 194
11.1 菜單 194
11.1.1 菜單基礎類 194
11.1.2 添加和刪除菜單 196
11.1.3 設置菜單項 196
11.1.4 為菜單設置快捷鍵 197
11.1.5 為菜單設置圖標 197
11.1.6 菜單的功能實現(xiàn) 198
11.2 工具欄 200
11.2.1 工具欄類:QToolBar 200
11.2.2 添加工具欄 201
11.2.3 為工具欄添加圖標按鈕 201
11.2.4 一次為工具欄添加多個圖標按鈕 202
11.2.5 向工具欄中添加其他控件 202
11.2.6 設置工具欄按鈕的大小 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)欄中實時顯示當前時間 207
11.4 小結(jié) 209
第12章 PyQt5高級控件的使用 210
12.1 進度條類控件 210
12.1.1 ProgressBar:進度條 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 與對話框進行交互 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 游標對象 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 隱藏垂直標題 270
15.4 設置最后一列自動填充容器 271
15.5 禁止編輯單元格 272
15.6 設置單元格的文本顏色 272
15.7 設置指定列的排序方式 273
15.8 在指定列中顯示圖片 273
15.9 向指定列中添加PyQt5標準控件 274
15.10 合并指定單元格 275
15.11 小結(jié) 276
第3篇 高級應用
第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 復制文件 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 復制文件夾 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繪圖基礎 306
17.2 設置畫筆與畫刷 308
17.2.1 設置畫筆:QPen 308
17.2.2 設置畫刷:QBrush 310
17.3 繪制文本 314
17.3.1 設置字體: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 線程的應用 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章 學生信息管理系統(tǒng)(PyQt5 MySQL PyMySQL模塊實現(xiàn)) 338
20.1 需求分析 338
20.2 系統(tǒng)設計 338
20.2.1 系統(tǒng)功能結(jié)構(gòu) 339
20.2.2 系統(tǒng)業(yè)務流程 339
20.2.3 系統(tǒng)預覽 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ù)庫設計 342
20.4.1 數(shù)據(jù)庫結(jié)構(gòu)設計 342
20.4.2 數(shù)據(jù)表結(jié)構(gòu)設計 342
20.4.3 視圖設計 343
20.5 公共模塊設計 344
20.5.1 模塊導入及公共變量 344
20.5.2 打開數(shù)據(jù)庫連接 345
20.5.3 數(shù)據(jù)的增刪改 345
20.5.4 數(shù)據(jù)的查詢方法 346
20.6 登錄模塊設計 346
20.6.1 登錄模塊概述 346
20.6.2 模塊的導入 347
20.6.3 登錄功能的實現(xiàn) 347
20.6.4 退出登錄窗體 348
20.6.5 在Python中啟動登錄窗體 348
20.7 主窗體模塊設計 349
20.7.1 主窗體概述 349
20.7.2 模塊導入及窗體初始化 349
20.7.3 在主窗體中打開其他功能窗體 350
20.7.4 顯示當前登錄用戶和登錄時間 351
20.8 年級設置模塊設計 351
20.8.1 年級設置模塊概述 351
20.8.2 模塊的導入 351
20.8.3 窗體加載時顯示所有年級信息 352
20.8.4 年級信息的添加 352
20.8.5 年級信息的修改 353
20.8.6 年級信息的刪除 354
20.9 學生信息管理模塊設計 355
20.9.1 學生信息管理模塊概述 355
20.9.2 根據(jù)年級顯示對應班級 355
20.9.3 學生信息的查詢 356
20.9.4 添加學生信息 357
20.9.5 根據(jù)選中編號顯示學生詳細信息 358
20.9.6 修改學生信息 358
20.9.7 刪除學生信息 359
20.10 學生信息查詢模塊設計 359
20.10.1 學生信息查詢模塊概述 360
20.10.2 學生信息查詢功能的實現(xiàn) 360
20.11 小結(jié) 361