編輯推薦
《PyQt5快速開發與實戰》是介紹PyQt 5理論與實戰的前沿書籍,即係統化地介紹Qt的基礎知識,又兼顧Python的各種強大模塊,同時包含豐富的項目實戰。旨在幫助讀者快速掌握PyQt 5的應用知識,是Python程序開發的利器。
內容簡介
《PyQt5快速開發與實戰》既是介紹PyQt 5的快速入門書籍,也是介紹PyQt 5實戰應用的書籍。PyQt 5是對Qt所有類的Python封裝,既可以利用Qt的強大功能,也可以利用Python豐富的生態圈,同時能夠結閤Python簡潔的語法進行操作,其結果就是使用PyQt 5可以高效、簡單地開發齣自己想要的程序。《PyQt5快速開發與實戰》內容豐富,對PyQt 5基礎知識的介紹比較全麵,同時對新手使用PyQt 5的一些重點、難點都有專門的章節進行針對性分析,還重點介紹瞭如何把Python的一些重量級模塊(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中,從而極大地節約開發時間。最後,《PyQt5快速開發與實戰》給齣一些綜閤性較強的實戰案例,幫助讀者快速掌握PyQt 5的實戰應用。
總而言之,《PyQt5快速開發與實戰》旨在幫助讀者以最短的時間掌握PyQt 5的基礎知識並能夠實戰應用,希望《PyQt5快速開發與實戰》對有Python程序開發需求的讀者有幫助。
作者簡介
王碩,網名信平,北京鼎鑫拓達資深軟件工程師,具有8年的Java企業應用開發經驗和3年教育培訓經驗。曾主持多個B/S項目的開發,經驗豐富。擅長J2EE(JSP/Servlet、 JDBC、Struts2、Spring、Hibernate)項目開發、Python(程序GUI、數據分析、網絡爬蟲、機器學習)項目開發,JavaScript、HTML 5和數據庫技術,是極寬Top開源團隊核心成員。
孫洋洋,現就職於一傢資産管理公司,負責公司量化投研係統的開發與維護,有多傢券商工作與實習經驗。擅長網絡爬蟲、機器學習、程序GUI開發與設計,對量化投資領域興趣濃厚,有多年量化投資實盤操作經驗,是極寬Top開源團隊核心成員。
精彩書評
本書是作者集數年編程開發於大成的一份心血之作,他從簡單實用的係統架構視角將我們帶入一個全新開發的思維模式,此書是使用PyQt的佳作,有大量的開發技巧,還匯集瞭豐富的操作案例,可作為新手上路的必備實操手冊,本人讀後也獲益匪淺。
——北京信平科技有限公司總經理 王祥平
一本可以從入門到實戰、係統學習PyQt 5的好書,是PyQt 5學習者的優選教材。
——潭州教育Python學院院長 李天強
本書詳細介紹瞭PyQt的基礎知識,又兼顧瞭PyQt的實戰應用。並且在擴展應用中介紹的幾個模塊如QtPandas、Matplotlib、PyQtGrapth、Plotly等,很好地解決瞭Python在金融領域甚至量化投資領域界麵呈現的難點問題,對要做量化投資界麵開發的讀者來說,本書非常值得推薦。
——中國量化投資學會理事長 丁鵬
Python是一門應用廣泛的腳本語言,為瞭創建圖形用戶界麵,PyQt是Python工程師選擇的重要工具之一。作者編寫的此書涵蓋瞭PyQt 5的基礎知識和高級應用,體現瞭技術與理論的完美結閤,是Python工程師編程的必備手冊。
——梁忠博士
目錄
第1章 認識PyQt 5 1
1.1 PyQt框架簡介 1
1.1.1 PyQt 5的特點 3
1.1.2 Qt與PyQt的關係 4
1.1.3 其他圖形界麵開發庫介紹 4
1.1.4 PyQt 4/PyQt 5 6
1.1.5 Python 2/Python 3 6
1.2 PyQt 5環境搭建 7
1.2.1 在Windows下搭建PyQt 5環境 7
1.2.2 在Mac OS下搭建PyQt 5環境 15
1.2.3 PyQt 5的安裝測試 20
1.2.4 安裝其他Python模塊 22
1.2.5 使用PyQt 5的API文檔 23
1.3 Eric 6的安裝與使用 25
1.3.1 Eric 6的安裝及漢化 26
1.3.2 Eric 6的相關配置 29
1.3.3 安裝自動補全插件jedi 33
1.3.4 測試Eric 6 35
1.3.5 Eric 6的基本使用 35
1.4 本書程序下載 39
第2章 Python基本語法 41
2.1 Python簡介 41
2.2 數據類型 43
案例2-1 基本運算 43
2.3 String(字符串) 45
案例2-2 字符串入門 45
案例2-3 字符串常用方法 46
2.4 List(列錶) 47
案例2-4 列錶操作 48
2.5 Tuple(元組) 49
案例2-5 元組操作 49
2.6 Dictionary(字典) 50
案例2-6 字典操作 50
2.7 數據類型轉換 52
2.8 控製語句 53
案例2-7 控製語句 53
2.9 自定義函數 54
案例2-8 函數定義 55
2.10 函數partial 55
案例2-9 partial函數的使用 56
2.11 lambda錶達式 57
案例2-10 lambda錶達式操作 57
2.12 類和實例 58
案例2-11 類和實例的使用 58
2.13 類的屬性和方法 59
案例2-12 類的屬性和方法的使用 59
2.14 類的動態屬性 61
案例2-13 類的動態屬性操作 61
第3章 Qt Designer的使用 64
3.1 Qt Designer快速入門 64
3.1.1 新建主窗口 65
3.1.2 窗口主要區域介紹 66
3.1.3 查看UI文件 68
3.1.4 將.ui文件轉換為.py文件 70
3.1.5 界麵與邏輯分離 74
3.2 布局管理入門 75
3.2.1 使用布局管理器布局 76
3.2.2 使用容器進行布局 79
3.3 Qt Designer 實戰應用 81
3.3.1 絕對布局 81
3.3.2 使用布局管理器布局 83
3.3.3 其他需要注意的內容 91
3.3.4 測試程序 94
3.4 信號和槽關聯 96
3.4.1 簡單入門 97
3.4.2 快速進階 101
3.5 菜單欄與工具欄 106
3.5.1 界麵設計 106
3.5.2 效果測試 110
3.5.3 應用:加載其他窗口 112
3.6 打包資源文件 115
3.6.1 使用Qt Designer加載資源文件 115
3.6.2 在窗體中使用資源文件 116
3.6.3 轉換資源文件 118
3.6.4 導入.py資源文件 119
第4章 PyQt 5基本窗口控件 122
4.1 QMainWindow 122
4.1.1 窗口類型介紹 122
4.1.2 創建主窗口 123
案例4-1 創建主窗口 124
4.1.3 將主窗口放在屏幕中間 125
案例4-2 主窗口居中顯示 125
4.1.4 關閉主窗口 127
案例4-3 關閉主窗口 127
4.2 QWidget 128
4.2.1 窗口坐標係統 129
4.2.2 常用的幾何機構 130
案例4-4 屏幕坐標係統顯示 131
4.2.3 創建第一個PyQt 5應用 133
案例4-5 建立一個主窗口 133
4.2.4 為應用設置程序圖標 136
案例4-6 設置程序圖標 136
4.2.5 顯示氣泡提示信息 137
4.3 QLabel 138
案例4-7 顯示QLabel標簽 140
案例4-8 QLabel標簽快捷鍵的使用 142
4.4 文本框類控件 143
4.4.1 QLineEdit 143
案例4-9 EchoMode的顯示效果 146
案例4-10 驗證器 147
案例4-11 輸入掩碼 149
案例4-12 綜閤示例 150
4.4.2 QTextEdit 152
案例4-13 QTextEdit的使用 152
4.5 按鈕類控件 154
4.5.1 QAbstractButton 154
4.5.2 QPushButton 154
案例4-14 QPushButton按鈕的使用 155
4.5.3 QRadioButton 158
案例4-15 QRadioButton按鈕的使用 158
4.5.4 QCheckBox 160
案例4-16 QCheckBox按鈕的使用 161
4.6 QComboBox(下拉列錶框) 164
案例4-17 QComboBox按鈕的使用 164
4.7 QSpinBox(計數器) 166
案例4-18 QSpinBox的使用 167
4.8 QSlider(滑動條) 168
案例4-19 QSlider的使用 169
4.9 對話框類控件 171
4.9.1 QDialog 171
案例4-20 QDialog的使用 171
4.9.2 QMessageBox 173
案例4-21 QMessageBox的使用 175
4.9.3 QInputDialog 176
案例4-22 QInputDialog的使用 176
4.9.4 QFontDialog 178
案例4-23 QFontDialog的使用 178
4.9.5 QFileDialog 180
案例4-24 QFileDialog的使用 181
4.10 窗口繪圖類控件 184
4.10.1 QPainter 184
案例4-25 繪製文字 185
案例4-26 繪製點 187
4.10.2 QPen 189
案例4-27 QPen的使用 189
4.10.3 QBrush 191
案例4-28 QBrush 的使用 192
4.10.4 QPixmap 194
案例4-29 QPixmap的使用 194
4.11 拖曳與剪貼闆 195
4.11.1 Drag與Drop 195
案例4-30 拖曳功能 197
4.11.2 QClipboard 198
案例4-31 QClipboard的使用 199
4.12 日曆與時間 202
案例4-32 QCalendar的使用 202
案例4-33 QDateTimeEdit的使用 209
4.13 菜單欄、工具欄與狀態欄 212
4.13.1 菜單欄 212
案例4-34 QMenuBar的使用 212
4.13.2 QToolBar 214
案例4-35 QToolBar的使用 215
4.13.3 QStatusBar 216
案例4-36 QStatusBar的使用 217
4.14 QPrinter 218
案例4-37 QPrinter的使用 218
第5章 PyQt 5高級界麵控件 221
5.1 錶格與樹 221
5.1.1 QTableView 221
案例5-1 QTableView的使用 222
5.1.2 QListView 224
案例5-2 QListView的使用 225
5.1.3 QListWidget 226
案例5-3 QListWidget的使用 226
5.1.4 QTableWidget 227
5.1.5 QTreeView 245
5.2 容器:裝載更多的控件 251
5.2.1 QTabWidget 251
案例5-4 QTabWidget的使用 252
5.2.2 QStackedWidget 254
案例5-5 QStackedWidget的使用 254
5.2.3 QDockWidget 256
案例5-6 QDockWidget的使用 257
5.2.4 多文檔界麵 259
案例5-7 多重文檔界麵 260
5.2.5 QScrollBar 262
案例5-8 QScrollBar 262
5.3 多綫程 264
5.3.1 QTimer 264
5.3.2 QThread 268
案例5-9 應用案例:分離UI主綫程與工作綫程 274
5.3.3 事件處理 276
5.4 網頁交互 278
案例5-10 加載並顯示外部的Web頁麵 278
案例5-11 加載並顯示本地的Web頁麵 280
案例5-12 加載並顯示嵌入的HTML代碼 281
案例5-13 PyQt調用JavaScript代碼 283
案例5-14 JavaScript調用PyQt代碼 286
第6章 PyQt 5布局管理 294
6.1 好軟件的三個維度 294
6.2 PyQt 5中的布局管理 295
6.3 PyQt 5的絕對位置布局 296
6.4 QBoxLayout(框布局) 298
6.4.1 QHBoxLayout(水平布局) 298
6.4.2 QVBoxLayout(垂直布局) 300
6.4.3 addStretch()函數的使用 301
6.5 QGridLayout(網格布局) 303
6.5.1 單一的網格單元格 304
6.5.2 跨越行和列的網格單元格 306
6.6 QFormLayout(錶單布局) 308
6.7 嵌套布局 309
6.7.1 在布局中添加其他布局 309
6.7.2 在控件中添加布局 311
6.8 QSplitter 314
第7章 PyQt 5信號與槽 317
7.1 信號與槽介紹 317
7.1.1 定義信號 318
7.1.2 操作信號 319
7.1.3 信號與槽的入門應用 320
7.1.4 快速進階 324
7.2 信號與槽再細分 324
7.2.1 內置信號和槽函數 324
7.2.2 內置信號和自定義槽函數 325
7.2.3 自定義信號和內置槽函數 326
7.2.4 自定義信號和槽函數 327
7.3 信號與槽的高級玩法 328
7.3.1 高級自定義信號與槽 328
7.3.2 使用自定義參數 333
7.3.3 裝飾器信號與槽 335
7.3.4 信號與槽的斷開和連接 337
7.3.5 Qt Designer神助攻:界麵顯示與業務邏輯的分離 339
7.3.6 多綫程中信號與槽的使用 345
7.4 事件處理機製入門 348
7.4.1 事件和信號與槽的區彆 348
7.4.2 常見事件類型 348
7.4.3 使用事件處理的方法 349
7.4.4 經典案例分析 349
7.5 窗口數據傳遞 362
7.5.1 單一窗口數據傳遞 363
7.5.2 多窗口數據傳遞:調用屬性 364
7.5.3 多窗口數據傳遞:信號與槽 368
第8章 PyQt 5圖形和特效 373
8.1 窗口風格 373
8.1.1 設置窗口風格 373
案例8-1 設置窗口風格 374
8.1.2 設置窗口樣式 375
8.1.3 使用自定義的無邊框窗口 376
8.2 繪圖 378
8.2.1 圖像類 378
8.2.2 簡單繪圖 379
8.2.3 雙緩衝繪圖 381
案例8-2 繪製矩形,齣現重影 382
案例8-3 使用雙緩衝技術繪製矩形,避免齣現重影 384
8.3 QSS的UI美化 387
8.3.1 QSS的語法規則 387
8.3.2 QSS選擇器類型 389
8.3.3 QSS子控件 390
8.3.4 QSS僞狀態 391
8.3.5 QDarkStyleSheet 392
8.4 設置窗口背景 395
8.4.1 使用QSS設置窗口背景 395
8.4.2 使用QPalette設置窗口背景 396
8.4.3 使用paintEvent設置窗口背景 398
8.5 不規則窗口的顯示 400
8.5.1 不規則窗口實現動畫效果 404
8.5.2 加載GIF動畫效果 406
8.6 設置樣式 407
8.6.1 為標簽添加背景圖片 407
8.6.2 為按鈕添加背景圖片 407
8.6.3 縮放圖片 409
8.6.4 設置窗口透明 409
8.6.5 加載QSS 410
第9章 PyQt 5擴展應用 412
9.1 使用PyInstaller打包項目生成EXE文件 412
9.2 數據庫處理 417
9.2.1 SQLite介紹 417
9.2.2 連接數據庫 421
9.2.3 執行SQL語句 422
9.2.4 數據庫模型視圖 425
9.2.5 封裝分頁查詢控件 428
9.3 Pandas在PyQt中的應用 435
9.3.1 qtpandas的安裝 435
9.3.2 官方示例解讀 436
9.3.3 設置提升的窗口控件 440
9.3.4 qtpandas的使用 442
9.4 Matplotlib在PyQt中的應用 445
9.4.1 對MatplotlibWidget的解讀 445
9.4.2 設置提升的窗口控件 448
9.4.3 MatplotlibWidget的使用 449
9.4.4 更多擴展 451
9.5 PyQtGraph在PyQt中的應用 451
9.5.1 PyQtGraph的安裝 452
9.5.2 官方示例解讀 452
9.5.3 設置提升的窗口控件 453
9.5.4 PyQtGraph的使用 454
9.5.5 更多擴展 457
9.6 Plotly在PyQt中的應用 457
9.6.1 Plotly的安裝 458
9.6.2 示例解讀 458
9.6.3 設置提升的窗口控件 460
9.6.4 Plotly_PyQt5的使用 461
9.6.5 更多擴展 464
9.6.6 Plotly與PyQt 5.6的結閤 465
9.6.7 更多擴展 468
9.7 UI層的自動化測試 468
9.7.1 手工測試與自動化測試 469
9.7.2 模擬雞尾酒的調酒器窗口 470
9.7.2 將界麵文件轉換為Python文件 473
9.7
PyQt5快速開發與實戰 下載 mobi epub pdf txt 電子書