注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)自然科學(xué)天文學(xué)/地球科學(xué)Python Qt GUI與數(shù)據(jù)可視化編程

Python Qt GUI與數(shù)據(jù)可視化編程

Python Qt GUI與數(shù)據(jù)可視化編程

定 價(jià):¥99.00

作 者: 王維波,栗寶鵑,張曉東 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115514165 出版時(shí)間: 2019-09-01 包裝: 平裝
開本: 16開 頁數(shù): 490 字?jǐn)?shù):  

內(nèi)容簡介

  本書介紹在Python中使用PyQt5和其他模塊進(jìn)行GUI和數(shù)據(jù)可視化編程的方法。第一部分介紹PyQt5設(shè)計(jì)GUI程序的基本框架,包括GUI應(yīng)用程序的基本結(jié)構(gòu)、窗體UI可視化設(shè)計(jì)與窗體業(yè)務(wù)邏輯的設(shè)計(jì)、信號(hào)與槽的特點(diǎn)和使用等。第二部分介紹GUI程序設(shè)計(jì)中一些主要功能模塊的使用,包括基本界面組件、事件處理、數(shù)據(jù)庫、繪圖、多媒體等。第三部分先介紹使用PyQtChart和PyQtDataVisualization進(jìn)行二維和三維數(shù)據(jù)可視化設(shè)計(jì)的方法,再介紹將Matplotlib嵌入PyQt5 GUI應(yīng)用程序窗口界面中進(jìn)行數(shù)據(jù)可視化的編程方法。通過研讀本書,讀者可以掌握使用PyQt5、PyQtChart、Matplotlib等模塊進(jìn)行GUI應(yīng)用程序和數(shù)據(jù)可視化設(shè)計(jì)的方法。本書適合具有Python編程基礎(chǔ),并想通過Python設(shè)計(jì)GUI應(yīng)用程序或在GUI應(yīng)用程序中實(shí)現(xiàn)數(shù)據(jù)可視化的讀者閱讀和參考。

作者簡介

  王維波博士,大學(xué)教師,從事測控技術(shù)與儀器專業(yè)相關(guān)的工作,主要研究地球物理探測儀器開發(fā)、監(jiān)測數(shù)據(jù)處理方法和軟件開發(fā)。著有《Qt 5.9 C++開發(fā)指南》一書。栗寶鵑 博士,科研人員,主要從事地球物理、水下探測、遙感等專業(yè)方向的數(shù)據(jù)處理和圖像識(shí)別方面的研究工作,在日常工作中常使用Qt和Python解決實(shí)際問題。張曉東博士,大學(xué)教師,從事自動(dòng)化專業(yè)相關(guān)的教學(xué)工作,研究方向主要是優(yōu)化算法、最優(yōu)控制和智能控制。具有豐富的編程經(jīng)驗(yàn),善于通過Qt C++和Python的結(jié)合提高算法效率。

圖書目錄

目 錄
第 一部分 PyQt5開發(fā)基礎(chǔ)
第 1章 開發(fā)環(huán)境安裝 2
1.1 Python 2
1.1.1 Python 簡介 2
1.1.2 Python的下載與安裝 2
1.1.3 IDLE的基本使用 3
1.1.4 安裝Python包 4
1.2 Qt 5
1.2.1 Qt 簡介 5
1.2.2 Qt 的下載與安裝 5
1.2.3 Qt的幾個(gè)工具軟件 7
1.2.4 Qt Creator的設(shè)置 7
1.3 PyQt5 8
1.3.1 PyQt5簡介 8
1.3.2 PyQt5安裝 9
1.3.3 在IDLE中開啟對(duì)PyQt5的代碼提示功能 10
第 2章 PyQt5 GUI程序框架 11
2.1 PyQt5 GUI程序的基本框架 11
2.2 使用可視化設(shè)計(jì)窗體的GUI程序 12
2.2.1 用UI Designer可視化設(shè)計(jì)窗體 13
2.2.2 將ui文件編譯為py文件 16
2.2.3 使用Ui_FormHello類的GUI程序框架 18
2.2.4 界面與邏輯分離的GUI程序框架 19
2.3 信號(hào)與槽的使用 23
2.3.1 信號(hào)與槽功能概述 23
2.3.2 Qt Creator的使用 23
2.3.3 窗體可視化設(shè)計(jì) 25
2.3.4 界面組件布局管理 26
2.3.5 組件的信號(hào)與內(nèi)建槽函數(shù)的關(guān)聯(lián) 29
2.3.6 PyQt5 GUI項(xiàng)目程序框架 30
2.3.7 為組件的內(nèi)建信號(hào)編寫槽函數(shù) 35
2.4 自定義信號(hào)的使用 39
2.4.1 信號(hào)與槽的一些特點(diǎn)和功能 39
2.4.2 自定義信號(hào)使用示例 40
2.4.3 使用信號(hào)與槽的一些注意事項(xiàng) 43
2.5 資源文件的使用 43
2.5.1 功能概述 43
2.5.2 窗體可視化設(shè)計(jì) 44
2.5.3 創(chuàng)建和使用資源文件 44
2.5.4 窗體文件和資源文件的編譯 45
2.5.5 窗體業(yè)務(wù)邏輯類的設(shè)計(jì) 46
2.5.6 為應(yīng)用程序設(shè)置圖標(biāo) 47
2.6 從Qt C++類庫到PyQt5 47
2.6.1 幫助信息的查找 47
2.6.2 正確導(dǎo)入模塊中的類 49
2.6.3 部分類和接口函數(shù)的差異 50
2.6.4 數(shù)據(jù)類型對(duì)應(yīng)關(guān)系 51
2.7 3個(gè)單窗體GUI項(xiàng)目模板 52
2.7.1 概述 52
2.7.2 dialogApp項(xiàng)目模板 53
2.7.3 widgetApp項(xiàng)目模板 54
2.7.4 mainWindowApp項(xiàng)目模板 55
2.7.5 使用項(xiàng)目模板和實(shí)例源程序 56
2.7.6 在Eric中編輯和運(yùn)行示例程序 57
第二部分 GUI應(yīng)用程序設(shè)計(jì)
第3章 常用界面組件的使用 60
3.1 數(shù)據(jù)輸入輸出 60
3.2 QPushButton 62
3.3 QSlider和QProgressBar 64
3.4 日期時(shí)間數(shù)據(jù) 66
3.4.1 日期時(shí)間類和界面組件 66
3.4.2 日期時(shí)間數(shù)據(jù)的獲取并轉(zhuǎn)換為字符串 67
3.4.3 字符串轉(zhuǎn)換為日期時(shí)間 68
3.4.4 QLineEdit的inputMask 68
3.5 定時(shí)器QTimer 69
3.6 下拉列表框QComboBox 70
3.6.1 QComboBox功能概述 70
3.6.2 簡單的ComboBox操作 71
3.6.3 帶用戶數(shù)據(jù)的ComboBox 72
3.6.4 QComboBox常用函數(shù)總結(jié) 73
3.7 QMainWindow與QAction 73
3.7.1 功能簡介 73
3.7.2 窗體可視化設(shè)計(jì) 75
3.7.3 界面操作功能的代碼實(shí)現(xiàn) 77
3.8 QListWidget和QToolButton 80
3.8.1 功能概述 80
3.8.2 窗體可視化設(shè)計(jì) 81
3.8.3 QToolButton與下拉式菜單 84
3.8.4 QListWidget的操作 85
3.8.5 創(chuàng)建右鍵快捷菜單 88
3.9 QTreeWidget和QDockWidget 88
3.9.1 功能概述 88
3.9.2 窗體可視化設(shè)計(jì) 90
3.9.3 QTreeWidget操作 91
3.9.4 QLabel和QPixmap顯示圖片 96
3.9.5 QDockWidget的操作 97
3.10 QTableWidget 98
3.10.1 QTableWidget概述 98
3.10.2 窗體設(shè)計(jì)與初始化 99
3.10.3 QTableWidget操作 100
3.11 容器類組件與布局設(shè)計(jì) 105
3.11.1 QGroupBox組件與水平布局 106
3.11.2 布局的layoutStretch屬性 106
3.11.3 網(wǎng)格狀布局 107
3.11.4 分割條 108
第4章 Model/View結(jié)構(gòu) 109
4.1 Model/View結(jié)構(gòu) 109
4.1.1 Model/View結(jié)構(gòu)基本原理 109
4.1.2 Model(數(shù)據(jù)模型) 110
4.1.3 View(視圖) 111
4.1.4 Delegate(代理) 111
4.1.5 Model/View結(jié)構(gòu)的一些概念 112
4.2 QFileSystemModel 114
4.2.1 QFileSystemModel類的基本功能 114
4.2.2 QFileSystemModel的使用 114
4.3 QStringListModel 116
4.3.1 QStringListModel功能概述 116
4.3.2 QStringListModel的使用 116
4.4 QStandardItemModel 119
4.4.1 功能概述 119
4.4.2 界面設(shè)計(jì) 120
4.4.3 QStandardItemModel的使用 120
4.5 自定義代理 128
4.5.1 自定義代理的功能 128
4.5.2 自定義代理類的基本設(shè)計(jì)要求 128
4.5.3 基于QDoubleSpinBox的自定義代理類 129
4.5.4 基于QComboBox的自定義代理類 130
4.5.5 自定義代理類的使用 131
第5章 事件處理 133
5.1 默認(rèn)事件處理 133
5.1.1 應(yīng)用程序的事件循環(huán) 133
5.1.2 事件類型與默認(rèn)的事件處理函數(shù) 133
5.1.3 事件與信號(hào)的關(guān)系 137
5.2 事件攔截與事件過濾 139
5.2.1 event()函數(shù)的作用 139
5.2.2 事件過濾器 140
5.2.3 事件隊(duì)列的及時(shí)處理 141
5.3 拖放事件與拖放操作 142
5.3.1 拖放操作相關(guān)事件 142
5.3.2 外部文件拖放操作示例 143
5.4 具有拖放操作功能的組件 146
5.4.1 功能概述 146
5.4.2 界面設(shè)計(jì)與初始化 147
5.4.3 拖放操作屬性的顯示 148
5.4.4 拖放屬性的設(shè)置 149
5.4.5 通過事件過濾器實(shí)現(xiàn)項(xiàng)的刪除 150
第6章 對(duì)話框與多窗口設(shè)計(jì) 151
6.1 標(biāo)準(zhǔn)對(duì)話框 151
6.1.1 概述 151
6.1.2 QFileDialog對(duì)話框 152
6.1.3 QColorDialog對(duì)話框 154
6.1.4 QFontDialog對(duì)話框 154
6.1.5 QProgressDialog對(duì)話框 155
6.1.6 QInputDialog輸入對(duì)話框 156
6.1.7 QMessageBox消息對(duì)話框 157
6.2 自定義對(duì)話框及其使用 159
6.2.1 對(duì)話框的不同調(diào)用方式 159
6.2.2 示例項(xiàng)目的文件組成 160
6.2.3 主窗口的設(shè)計(jì)與初始化 161
6.2.4 對(duì)話框QmyDialogSize的創(chuàng)建和使用 163
6.2.5 對(duì)話框QmyDialogHeaders的創(chuàng)建和使用 165
6.2.6 對(duì)話框QmyDialogLocate的創(chuàng)建和使用 166
6.3 多窗口應(yīng)用程序 170
6.3.1 主要的窗體類及其用途 170
6.3.2 窗體類重要特性的設(shè)置 170
6.3.3 多窗口應(yīng)用程序設(shè)計(jì)示例 172
6.4 MDI應(yīng)用程序設(shè)計(jì) 179
6.4.1 MDI簡介 179
6.4.2 文檔窗體類QmyFormDoc的設(shè)計(jì) 180
6.4.3 主窗口設(shè)計(jì)與子窗口的使用 181
第7章 數(shù)據(jù)庫 185
7.1 Qt SQL模塊概述 185
7.1.1 Qt SQL支持的數(shù)據(jù)庫 185
7.1.2 SQLite數(shù)據(jù)庫 185
7.1.3 Qt SQL模塊的主要類 187
7.2 QSqlTableModel的使用 188
7.2.1 功能概述 188
7.2.2 窗體可視化設(shè)計(jì) 190
7.2.3 窗體業(yè)務(wù)邏輯類的設(shè)計(jì)和初始化 190
7.2.4 打開數(shù)據(jù)庫和數(shù)據(jù)表 191
7.2.5 添加、插入與刪除記錄 197
7.2.6 保存與取消修改 198
7.2.7 設(shè)置和清除照片 199
7.2.8 數(shù)據(jù)記錄的遍歷 199
7.2.9 記錄的排序 200
7.2.10 記錄的過濾 200
7.3 QSqlQueryModel的使用 201
7.3.1 QSqlQueryModel功能概述 201
7.3.2 窗體業(yè)務(wù)邏輯類的設(shè)計(jì)和初始化 202
7.3.3 打開數(shù)據(jù)庫和查詢數(shù)據(jù) 202
7.3.4 記錄移動(dòng) 205
7.4 QSqlQuery的使用 206
7.4.1 QSqlQuery基本用法 206
7.4.2 QSqlQueryModel和QSqlQuery聯(lián)合使用 207
7.5 QSqlRelationalTableModel的使用 215
7.5.1 關(guān)系數(shù)據(jù)表和示例功能 215
7.5.2 關(guān)系數(shù)據(jù)模型功能實(shí)現(xiàn) 216
第8章 繪圖 219
8.1 QPainter繪圖 219
8.1.1 QPainter繪圖系統(tǒng) 219
8.1.2 QPen的主要功能 221
8.1.3 QBrush的主要功能 223
8.1.4 漸變填充 224
8.1.5 QPainter繪制基本圖形 227
8.2 坐標(biāo)系統(tǒng)和坐標(biāo)變換 230
8.2.1 坐標(biāo)變換函數(shù) 230
8.2.2 坐標(biāo)變換繪圖實(shí)例 231
8.2.3 視口和窗口 234
8.2.4 繪圖疊加的效果 236
8.3 自定義界面組件 237
8.3.1 功能概述 237
8.3.2 自定義QWidget子類QmyBattery 237
8.3.3 QmyBattery類的使用 239
8.4 Graphics View繪圖架構(gòu) 241
8.4.1 場景、視圖與圖形項(xiàng) 241
8.4.2 Graphics View的坐標(biāo)系統(tǒng) 242
8.4.3 Graphics View相關(guān)的類 243
8.4.4 Graphics View程序基本結(jié)構(gòu) 246
8.4.5 Graphics View繪圖程序示例 250
第9章 文件 261
9.1 文件操作相關(guān)類概述 261
9.1.1 文件操作接口類QFile 261
9.1.2 文件流操作類QTextStream和QDataStream 262
9.1.3 目錄和文件操作相關(guān)的類 262
9.2 文本文件讀寫 263
9.2.1 功能概述 263
9.2.2 QFile讀寫文本文件 263
9.2.3 QFile和QTextStream結(jié)合讀寫文本文件 266
9.2.4 Python內(nèi)建函數(shù)讀寫文本文件 268
9.3 二進(jìn)制文件讀寫 269
9.3.1 基礎(chǔ)知識(shí)和工具軟件 269
9.3.2 QDataStream功能概述 271
9.3.3 QDataStream流化數(shù)據(jù)讀寫 272
9.3.4 QDataStream原始數(shù)據(jù)讀寫 281
9.4 目錄和文件操作 288
9.4.1 目錄和文件操作相關(guān)的類 288
9.4.2 示例功能概述 288
9.4.3 QFile類 290
9.4.4 QFileInfo類 291
9.4.5 QDir類 292
9.4.6 QFileSystemWatcher類 294
第 10章 多媒體 297
10.1 PyQt5多媒體模塊功能概述 297
10.2 音頻播放 298
10.2.1 使用QMediaPlayer播放音樂文件 298
10.2.2 使用QSoundEffect和QSound播放音效文件 303
10.3 音頻輸入 304
10.3.1 使用QAudioRecorder錄制音頻 304
10.3.2 使用QAudioInput獲取音頻輸入 310
10.4 視頻播放 317
10.4.1 在QVideoWidget上顯示視頻 317
10.4.2 在QGraphicsVideoItem上播放視頻 321
10.5 攝像頭的使用 322
10.5.1 攝像頭操作概述 322
10.5.2 示例功能和界面可視化設(shè)計(jì) 324
10.5.3 使用攝像頭拍照 324
10.5.4 使用QMediaRecorder通過攝像頭錄像 328
第 11章 GUI設(shè)計(jì)增強(qiáng)技術(shù) 329
11.1 多語言界面 329
11.1.1 多語言界面設(shè)計(jì)概述 329
11.1.2 多語言界面設(shè)計(jì)示例 331
11.2 QSS定制界面 336
11.2.1 Qt樣式表的作用 336
11.2.2 Qt樣式表句法 337
11.2.3 Qt樣式表的使用 342
第三部分 數(shù)據(jù)可視化
第 12章 PyQtChart二維繪圖 346
12.1 PyQtChart概述 346
12.1.1 模塊安裝與基本功能 346
12.1.2 一個(gè)簡單的PyQtChart繪圖程序 347
12.1.3 圖表的主要組成部分 348
12.2 QChart繪制折線圖 350
12.2.1 示例功能概述與界面設(shè)計(jì) 350
12.2.2 QPen屬性設(shè)置對(duì)話框設(shè)計(jì) 351
12.2.3 主窗口業(yè)務(wù)邏輯類初始化 353
12.2.4 圖表各組成部件的屬性設(shè)置 356
12.3 QChart繪圖高級(jí)功能 365
12.3.1 功能概述 365
12.3.2 自定義類QmyChartView 366
12.3.3 主窗口可視化設(shè)計(jì) 368
12.3.4 繪圖功能的實(shí)現(xiàn) 368
12.4 對(duì)數(shù)坐標(biāo)軸和多坐標(biāo)軸 373
12.4.1 功能概述 373
12.4.2 主窗口可視化設(shè)計(jì) 374
12.4.3 界面和圖表初始化 374
12.4.4 載入數(shù)據(jù)文件并繪制曲線 375
12.5 餅圖和各種柱狀圖 377
12.5.1 功能概述 377
12.5.2 窗口初始化與數(shù)據(jù)準(zhǔn)備 378
12.5.3 其他界面操作功能的實(shí)現(xiàn) 381
12.5.4 柱狀圖 382
12.5.5 堆疊柱狀圖 387
12.5.6 百分比柱狀圖 388
12.5.7 餅圖 390
12.6 蠟燭圖和日期時(shí)間坐標(biāo)軸 392
12.6.1 功能概述 392
12.6.2 界面和圖表初始化 394
12.6.3 繪圖功能的實(shí)現(xiàn) 395
12.7 區(qū)域填充圖 399
12.7.1 功能概述 399
12.7.2 界面和圖表初始化 400
12.7.3 繪圖功能的實(shí)現(xiàn) 402
12.8 極坐標(biāo)圖 405
12.8.1 功能概述 405
12.8.2 繪制極坐標(biāo)圖 406
12.8.3 其他功能的實(shí)現(xiàn) 408
第 13章 PyQtDataVisualization三維繪圖 411
13.1 PyQtDataVisualization模塊概述 411
13.1.1 模塊安裝與導(dǎo)入 411
13.1.2 模塊中主要的類 411
13.2 三維柱狀圖 413
13.2.1 功能概述 413
13.2.2 窗體可視化設(shè)計(jì) 413
13.2.3 初始化創(chuàng)建三維柱狀圖 414
13.2.4 其他功能的實(shí)現(xiàn) 417
13.3 三維散點(diǎn)圖 424
13.3.1 功能概述 424
13.3.2 創(chuàng)建三維散點(diǎn)圖 425
13.3.3 散點(diǎn)數(shù)據(jù)管理 427
13.4 三維曲面圖 429
13.4.1 功能概述 429
13.4.2 三維曲面圖 429
13.4.3 三維地形圖 434
第 14章 Matplotlib數(shù)據(jù)可視化 437
14.1 Matplotlib的基本用法 437
14.1.1 Matplotlib的安裝 437
14.1.2 一個(gè)腳本化的繪圖程序 438
14.1.3 GUI程序中的Matplotlib繪圖 439
14.2 圖的主要元素的面向?qū)ο蟛僮鳌?43
14.2.1 圖的主要組成元素 443
14.2.2 示例程序功能和窗體可視化設(shè)計(jì) 445
14.2.3 界面創(chuàng)建與初始化繪圖 446
14.2.4 Figure對(duì)象的操作 450
14.2.5 Axes子圖的操作 453
14.2.6 曲線設(shè)置 456
14.2.7 x軸和y軸設(shè)置 458
14.3 交互操作 464
14.3.1 交互功能概述 464
14.3.2 界面構(gòu)造與初始化繪圖 466
14.3.3 界面其他功能的實(shí)現(xiàn) 469
14.3.4 交互事件的處理 469
14.4 典型二維圖的繪制 471
14.4.1 自定義繪圖組件類QmyFigureCanvas 471
14.4.2 QmyFigureCanvas類的使用 473
14.4.3 直方圖 475
14.4.4 填充圖 476
14.4.5 餅圖 477
14.4.6 火柴桿圖 478
14.4.7 極坐標(biāo)圖 480
14.5 三維數(shù)據(jù)繪圖 482
14.5.1 三維數(shù)據(jù)繪圖概述 482
14.5.2 窗體初始化 483
14.5.3 繪制三維圖 486
14.5.4 三維數(shù)據(jù)繪制二維圖 487
14.5.5 colormap 488

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)