PyQt5快速開發(fā)與實(shí)戰(zhàn) 版權(quán)信息
- ISBN:9787121322914
- 條形碼:9787121322914 ; 978-7-121-32291-4
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
PyQt5快速開發(fā)與實(shí)戰(zhàn) 本書特色
適讀人群 :對Python和Qt感興趣的讀者。《PyQt5快速開發(fā)與實(shí)戰(zhàn)》是介紹PyQt 5理論與實(shí)戰(zhàn)的前沿書籍,即系統(tǒng)化地介紹Qt的基礎(chǔ)知識(shí),又兼顧Python的各種強(qiáng)大模塊,同時(shí)包含豐富的項(xiàng)目實(shí)戰(zhàn)。旨在幫助讀者快速掌握PyQt 5的應(yīng)用知識(shí),是Python程序開發(fā)的利器。
PyQt5快速開發(fā)與實(shí)戰(zhàn) 內(nèi)容簡介
本書既是介紹PyQt5的快速入門書籍,也是介紹PyQt5實(shí)戰(zhàn)應(yīng)用的書籍。PyQt5是對Qt所有類的Python封裝,即可以利用Qt的強(qiáng)大功能,也可以利用Python豐富的生態(tài),同時(shí)能夠結(jié)合Python簡潔的語法進(jìn)行操作,其結(jié)果就是使用PyQt5可以高效簡單地開發(fā)出自己想要的程序。本書內(nèi)容豐富,對PyQt5基礎(chǔ)知識(shí)的介紹比較全面,同時(shí)對新手使用PyQt5的一些重點(diǎn)難點(diǎn)都有專門的章節(jié)進(jìn)行針對性分析,還重點(diǎn)介紹了如何把Python的一些重量級(jí)模塊(Pandas、Matplotlib和Plotly)嵌入到PyQt5中,從而極大地節(jié)約開發(fā)時(shí)間。很后,本書會(huì)給出一些綜合性較強(qiáng)的實(shí)戰(zhàn)案例,幫助讀者快速掌握PyQt5的實(shí)戰(zhàn)應(yīng)用。總而言之,本書旨在幫助讀者以很短的時(shí)間掌握PyQt5的基礎(chǔ)知識(shí)并能夠?qū)崙?zhàn)應(yīng)用,希望本書對有Python程序開發(fā)需求的讀者有幫助。
PyQt5快速開發(fā)與實(shí)戰(zhàn) 目錄
目 錄
第1章 認(rèn)識(shí)PyQt 5 1
1.1 PyQt框架簡介 1
1.1.1 PyQt 5的特點(diǎn) 3
1.1.2 Qt與PyQt的關(guān)系 4
1.1.3 其他圖形界面開發(fā)庫介紹 4
1.1.4 PyQt 4/PyQt 5 6
1.1.5 Python 2/Python 3 6
1.2 PyQt 5環(huán)境搭建 7
1.2.1 在Windows下搭建PyQt 5環(huán)境 7
1.2.2 在Mac OS下搭建PyQt 5環(huán)境 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的相關(guān)配置 29
1.3.3 安裝自動(dòng)補(bǔ)全插件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 數(shù)據(jù)類型 43
案例2-1 基本運(yùn)算 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 數(shù)據(jù)類型轉(zhuǎn)換 52
2.8 控制語句 53
案例2-7 控制語句 53
2.9 自定義函數(shù) 54
案例2-8 函數(shù)定義 55
2.10 函數(shù)partial 55
案例2-9 partial函數(shù)的使用 56
2.11 lambda表達(dá)式 57
案例2-10 lambda表達(dá)式操作 57
2.12 類和實(shí)例 58
案例2-11 類和實(shí)例的使用 58
2.13 類的屬性和方法 59
案例2-12 類的屬性和方法的使用 59
2.14 類的動(dòng)態(tài)屬性 61
案例2-13 類的動(dòng)態(tài)屬性操作 61
第3章 Qt Designer的使用 64
3.1 Qt Designer快速入門 64
3.1.1 新建主窗口 65
3.1.2 窗口主要區(qū)域介紹 66
3.1.3 查看UI文件 68
3.1.4 將.ui文件轉(zhuǎn)換為.py文件 70
3.1.5 界面與邏輯分離 74
3.2 布局管理入門 75
3.2.1 使用布局管理器布局 76
3.2.2 使用容器進(jìn)行布局 79
3.3 Qt Designer 實(shí)戰(zhàn)應(yīng)用 81
3.3.1 絕對布局 81
3.3.2 使用布局管理器布局 83
3.3.3 其他需要注意的內(nèi)容 91
3.3.4 測試程序 94
3.4 信號(hào)和槽關(guān)聯(lián) 96
3.4.1 簡單入門 97
3.4.2 快速進(jìn)階 101
3.5 菜單欄與工具欄 106
3.5.1 界面設(shè)計(jì) 106
3.5.2 效果測試 110
3.5.3 應(yīng)用:加載其他窗口 112
3.6 打包資源文件 115
3.6.1 使用Qt Designer加載資源文件 115
3.6.2 在窗體中使用資源文件 116
3.6.3 轉(zhuǎn)換資源文件 118
3.6.4 導(dǎo)入.py資源文件 119
第4章 PyQt 5基本窗口控件 122
4.1 QMainWindow 122
4.1.1 窗口類型介紹 122
4.1.2 創(chuàng)建主窗口 123
案例4-1 創(chuàng)建主窗口 124
4.1.3 將主窗口放在屏幕中間 125
案例4-2 主窗口居中顯示 125
4.1.4 關(guān)閉主窗口 127
案例4-3 關(guān)閉主窗口 127
4.2 QWidget 128
4.2.1 窗口坐標(biāo)系統(tǒng) 129
4.2.2 常用的幾何機(jī)構(gòu) 130
案例4-4 屏幕坐標(biāo)系統(tǒng)顯示 131
4.2.3 創(chuàng)建**個(gè)PyQt 5應(yīng)用 133
案例4-5 建立一個(gè)主窗口 133
4.2.4 為應(yīng)用設(shè)置程序圖標(biāo) 136
案例4-6 設(shè)置程序圖標(biāo) 136
4.2.5 顯示氣泡提示信息 137
4.3 QLabel 138
案例4-7 顯示QLabel標(biāo)簽 140
案例4-8 QLabel標(biāo)簽快捷鍵的使用 142
4.4 文本框類控件 143
4.4.1 QLineEdit 143
案例4-9 EchoMode的顯示效果 146
案例4-10 驗(yàn)證器 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(計(jì)數(shù)器) 166
案例4-18 QSpinBox的使用 167
4.8 QSlider(滑動(dòng)條) 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 繪制點(diǎn) 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 日歷與時(shí)間 202
案例4-32 QCalendar的使用 202
案例4-33 QDateTimeEdit的使用 209
4.13 菜單欄、工具欄與狀態(tài)欄 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高級(jí)界面控件 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 應(yīng)用案例:分離UI主線程與工作線程 274
5.3.3 事件處理 276
5.4 網(wǎng)頁交互 278
案例5-10 加載并顯示外部的Web頁面 278
案例5-11 加載并顯示本地的Web頁面 280
案例5-12 加載并顯示嵌入的HTML代碼 281
案例5-13 PyQt調(diào)用JavaScript代碼 283
案例5-14 JavaScript調(diào)用PyQt代碼 286
第6章 PyQt 5布局管理 294
6.1 好軟件的三個(gè)維度 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()函數(shù)的使用 301
6.5 QGridLayout(網(wǎng)格布局) 303
6.5.1 單一的網(wǎng)格單元格 304
6.5.2 跨越行和列的網(wǎng)格單元格 306
6.6 QFormLayout(表單布局) 308
6.7 嵌套布局 309
6.7.1 在布局中添加其他布局 309
6.7.2 在控件中添加布局 311
6.8 QSplitter 314
第7章 PyQt 5信號(hào)與槽 317
7.1 信號(hào)與槽介紹 317
7.1.1 定義信號(hào) 318
7.1.2 操作信號(hào) 319
7.1.3 信號(hào)與槽的入門應(yīng)用 320
7.1.4 快速進(jìn)階 324
7.2 信號(hào)與槽再細(xì)分 324
7.2.1 內(nèi)置信號(hào)和槽函數(shù) 324
7.2.2 內(nèi)置信號(hào)和自定義槽函數(shù) 325
7.2.3 自定義信號(hào)和內(nèi)置槽函數(shù) 326
7.2.4 自定義信號(hào)和槽函數(shù) 327
7.3 信號(hào)與槽的高級(jí)玩法 328
7.3.1 高級(jí)自定義信號(hào)與槽 328
7.3.2 使用自定義參數(shù) 333
7.3.3 裝飾器信號(hào)與槽 335
7.3.4 信號(hào)與槽的斷開和連接 337
7.3.5 Qt Designer神助攻:界面顯示與業(yè)務(wù)邏輯的分離 339
7.3.6 多線程中信號(hào)與槽的使用 345
7.4 事件處理機(jī)制入門 348
7.4.1 事件和信號(hào)與槽的區(qū)別 348
7.4.2 常見事件類型 348
7.4.3 使用事件處理的方法 349
7.4.4 經(jīng)典案例分析 349
7.5 窗口數(shù)據(jù)傳遞 362
7.5.1 單一窗口數(shù)據(jù)傳遞 363
7.5.2 多窗口數(shù)據(jù)傳遞:調(diào)用屬性 364
7.5.3 多窗口數(shù)據(jù)傳遞:信號(hào)與槽 368
第8章 PyQt 5圖形和特效 373
8.1 窗口風(fēng)格 373
8.1.1 設(shè)置窗口風(fēng)格 373
案例8-1 設(shè)置窗口風(fēng)格 374
8.1.2 設(shè)置窗口樣式 375
8.1.3 使用自定義的無邊框窗口 376
8.2 繪圖 378
8.2.1 圖像類 378
8.2.2 簡單繪圖 379
8.2.3 雙緩沖繪圖 381
案例8-2 繪制矩形,出現(xiàn)重影 382
案例8-3 使用雙緩沖技術(shù)繪制矩形,避免出現(xiàn)重影 384
8.3 QSS的UI美化 387
8.3.1 QSS的語法規(guī)則 387
8.3.2 QSS選擇器類型 389
8.3.3 QSS子控件 390
8.3.4 QSS偽狀態(tài) 391
8.3.5 QDarkStyleSheet 392
8.4 設(shè)置窗口背景 395
8.4.1 使用QSS設(shè)置窗口背景 395
8.4.2 使用QPalette設(shè)置窗口背景 396
8.4.3 使用paintEvent設(shè)置窗口背景 398
8.5 不規(guī)則窗口的顯示 400
8.5.1 不規(guī)則窗口實(shí)現(xiàn)動(dòng)畫效果 404
8.5.2 加載GIF動(dòng)畫效果 406
8.6 設(shè)置樣式 407
8.6.1 為標(biāo)簽添加背景圖片 407
8.6.2 為按鈕添加背景圖片 407
8.6.3 縮放圖片 409
8.6.4 設(shè)置窗口透明 409
8.6.5 加載QSS 410
第9章 PyQt 5擴(kuò)展應(yīng)用 412
9.1 使用PyInstaller打包項(xiàng)目生成EXE文件 412
9.2 數(shù)據(jù)庫處理 417
9.2.1 SQLite介紹 417
9.2.2 連接數(shù)據(jù)庫 421
9.2.3 執(zhí)行SQL語句 422
9.2.4 數(shù)據(jù)庫模型視圖 425
9.2.5 封裝分頁查詢控件 428
9.3 Pandas在PyQt中的應(yīng)用 435
9.3.1 qtpandas的安裝 435
9.3.2 官方示例解讀 436
9.3.3 設(shè)置提升的窗口控件 440
9.3.4 qtpandas的使用 442
9.4 Matplotlib在PyQt中的應(yīng)用 445
9.4.1 對MatplotlibWidget的解讀 445
9.4.2 設(shè)置提升的窗口控件 448
9.4.3 MatplotlibWidget的使用 449
9.4.4 更多擴(kuò)展 451
9.5 PyQtGraph在PyQt中的應(yīng)用 451
9.5.1 PyQtGraph的安裝 452
9.5.2 官方示例解讀 452
9.5.3 設(shè)置提升的窗口控件 453
9.5.4 PyQtGraph的使用 454
9.5.5 更多擴(kuò)展 457
9.6 Plotly在PyQt中的應(yīng)用 457
9.6.1 Plotly的安裝 458
9.6.2 示例解讀 458
9.6.3 設(shè)置提升的窗口控件 460
9.6.4 Plotly_PyQt5的使用 461
9.6.5 更多擴(kuò)展 464
9.6.6 Plotly與PyQt 5.6的結(jié)合 465
9.6.7 更多擴(kuò)展 468
9.7 UI層的自動(dòng)化測試 468
9.7.1 手工測試與自動(dòng)化測試 469
9.7.2 模擬雞尾酒的調(diào)酒器窗口 470
9.7.2 將界面文件轉(zhuǎn)換為Python文件 473
9.7.3 單元測試程序 475
9.7.4 運(yùn)行測試用例 485
9.7.5 生成測試報(bào)告 486
第10章 PyQt 5實(shí)戰(zhàn)一:經(jīng)典程序開發(fā) 489
10.1 獲取城市天氣預(yù)報(bào) 489
10.1.1 獲取天氣數(shù)據(jù) 489
10.1.2 獲取不同城市的天氣預(yù)報(bào)API 490
10.1.3 界面實(shí)現(xiàn) 492
10.1.4 將界面文件轉(zhuǎn)換為.py文件 493
10.1.5 調(diào)用主窗口類 495
10.2 復(fù)利計(jì)算 496
10.2.1 復(fù)利計(jì)算業(yè)務(wù) 496
10.2.2 界面實(shí)現(xiàn) 497
10.3 刷新博客點(diǎn)擊量 499
第11章 PyQt 5實(shí)戰(zhàn)二:金融領(lǐng)域應(yīng)用 502
11.1 控件級(jí)別的布局管理 502
11.2 窗口級(jí)別的布局管理 505
11.3 PyQt 5在私募基金公司中的應(yīng)用 506
11.3.1 顯示產(chǎn)品基本信息 506
11.3.2 展示產(chǎn)品組合信息 512
11.4 PyQt 5在量化投資中的應(yīng)用 516
11.5 PyQt 5在券商中的應(yīng)用 522
11.5.1 從爬蟲說起 523
11.5.2 程序解讀 525
參考文獻(xiàn) 550
PyQt5快速開發(fā)與實(shí)戰(zhàn) 作者簡介
王碩,從事過7年的Java應(yīng)用開發(fā),3年的Python開發(fā),目前擔(dān)任電信資深軟件工程師,擁有豐富的Web開發(fā)經(jīng)驗(yàn),熱愛并長期專注于Python技術(shù)的研究,現(xiàn)從事Java和Python相關(guān)工作,擁有豐富的Java和Python等開發(fā)經(jīng)驗(yàn)。 從事過的項(xiàng)目: 清華同方威視股份有限公司 新加坡移民局安檢系統(tǒng) 中國銀行軟件開發(fā)中心 中國銀行客戶體驗(yàn)系統(tǒng)-BOCUE 北京CSC公司 永城保險(xiǎn)財(cái)務(wù)收付系統(tǒng)
- >
我從未如此眷戀人間
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
名家?guī)阕x魯迅:朝花夕拾
- >
羅曼·羅蘭讀書隨筆-精裝
- >
李白與唐代文化
- >
經(jīng)典常談
- >
伯納黛特,你要去哪(2021新版)
- >
苦雨齋序跋文-周作人自編集