|
-- 會員 / 註冊 --
|
|
|
|
Python Qt GUI與數據可視化編程 ( 簡體 字) |
作者:王維波 栗寶鵑 張曉東 | 類別:1. -> 程式設計 -> Python 2. -> 作業系統 -> Linux -> QT |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 51651 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:9/1/2019 |
頁數:490 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115514165 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書介紹在Python中使用PyQt5和其他模塊進行GUI和數據可視化編程的方法。第一部分介紹PyQt5設計GUI程序的基本框架,包括GUI應用程序的基本結構、窗體UI可視化設計與窗體業務邏輯的設計、信號與槽的特點和使用等。第二部分介紹GUI程序設計中一些主要功能模塊的使用,包括基本界面組件、事件處理、數據庫、繪圖、多媒體等。第三部分先介紹使用PyQtChart和PyQtDataVisualization進行二維和三維數據可視化設計的方法,再介紹將Matplotlib嵌入PyQt5 GUI應用程序窗口界面中進行數據可視化的編程方法。通過研讀本書,讀者可以掌握使用PyQt5、PyQtChart、Matplotlib等模塊進行GUI應用程序和數據可視化設計的方法。 本書適合具有Python編程基礎,并想通過Python設計GUI應用程序或在GUI應用程序中實現數據可視化的讀者閱讀和參考。 |
目錄:第 一部分 PyQt5開發基礎 第 1章 開發環境安裝 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的幾個工具軟件 7 1.2.4 Qt Creator的設置 7 1.3 PyQt5 8 1.3.1 PyQt5簡介 8 1.3.2 PyQt5安裝 9 1.3.3 在IDLE中開啟對PyQt5的代碼提示功能 10 第 2章 PyQt5 GUI程序框架 11 2.1 PyQt5 GUI程序的基本框架 11 2.2 使用可視化設計窗體的GUI程序 12 2.2.1 用UI Designer可視化設計窗體 13 2.2.2 將ui文件編譯為py文件 16 2.2.3 使用Ui_FormHello類的GUI程序框架 18 2.2.4 界面與邏輯分離的GUI程序框架 19 2.3 信號與槽的使用 23 2.3.1 信號與槽功能概述 23 2.3.2 Qt Creator的使用 23 2.3.3 窗體可視化設計 25 2.3.4 界面組件布局管理 26 2.3.5 組件的信號與內建槽函數的關聯 29 2.3.6 PyQt5 GUI項目程序框架 30 2.3.7 為組件的內建信號編寫槽函數 35 2.4 自定義信號的使用 39 2.4.1 信號與槽的一些特點和功能 39 2.4.2 自定義信號使用示例 40 2.4.3 使用信號與槽的一些注意事項 43 2.5 資源文件的使用 43 2.5.1 功能概述 43 2.5.2 窗體可視化設計 44 2.5.3 創建和使用資源文件 44 2.5.4 窗體文件和資源文件的編譯 45 2.5.5 窗體業務邏輯類的設計 46 2.5.6 為應用程序設置圖標 47 2.6 從Qt C++類庫到PyQt5 47 2.6.1 幫助信息的查找 47 2.6.2 正確導入模塊中的類 49 2.6.3 部分類和接口函數的差異 50 2.6.4 數據類型對應關系 51 2.7 3個單窗體GUI項目模板 52 2.7.1 概述 52 2.7.2 dialogApp項目模板 53 2.7.3 widgetApp項目模板 54 2.7.4 mainWindowApp項目模板 55 2.7.5 使用項目模板和實例源程序 56 2.7.6 在Eric中編輯和運行示例程序 57
第二部分 GUI應用程序設計 第3章 常用界面組件的使用 60 3.1 數據輸入輸出 60 3.2 QPushButton 62 3.3 QSlider和QProgressBar 64 3.4 日期時間數據 66 3.4.1 日期時間類和界面組件 66 3.4.2 日期時間數據的獲取并轉換為字符串 67 3.4.3 字符串轉換為日期時間 68 3.4.4 QLineEdit的inputMask 68 3.5 定時器QTimer 69 3.6 下拉列表框QComboBox 70 3.6.1 QComboBox功能概述 70 3.6.2 簡單的ComboBox操作 71 3.6.3 帶用戶數據的ComboBox 72 3.6.4 QComboBox常用函數總結 73 3.7 QMainWindow與QAction 73 3.7.1 功能簡介 73 3.7.2 窗體可視化設計 75 3.7.3 界面操作功能的代碼實現 77 3.8 QListWidget和QToolButton 80 3.8.1 功能概述 80 3.8.2 窗體可視化設計 81 3.8.3 QToolButton與下拉式菜單 84 3.8.4 QListWidget的操作 85 3.8.5 創建右鍵快捷菜單 88 3.9 QTreeWidget和QDockWidget 88 3.9.1 功能概述 88 3.9.2 窗體可視化設計 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 窗體設計與初始化 99 3.10.3 QTableWidget操作 100 3.11 容器類組件與布局設計 105 3.11.1 QGroupBox組件與水平布局 106 3.11.2 布局的layoutStretch屬性 106 3.11.3 網格狀布局 107 3.11.4 分割條 108 第4章 Model/View結構 109 4.1 Model/View結構 109 4.1.1 Model/View結構基本原理 109 4.1.2 Model(數據模型) 110 4.1.3 View(視圖) 111 4.1.4 Delegate(代理) 111 4.1.5 Model/View結構的一些概念 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 界面設計 120 4.4.3 QStandardItemModel的使用 120 4.5 自定義代理 128 4.5.1 自定義代理的功能 128 4.5.2 自定義代理類的基本設計要求 128 4.5.3 基于QDoubleSpinBox的自定義代理類 129 4.5.4 基于QComboBox的自定義代理類 130 4.5.5 自定義代理類的使用 131 第5章 事件處理 133 5.1 默認事件處理 133 5.1.1 應用程序的事件循環 133 5.1.2 事件類型與默認的事件處理函數 133 5.1.3 事件與信號的關系 137 5.2 事件攔截與事件過濾 139 5.2.1 event()函數的作用 139 5.2.2 事件過濾器 140 5.2.3 事件隊列的及時處理 141 5.3 拖放事件與拖放操作 142 5.3.1 拖放操作相關事件 142 5.3.2 外部文件拖放操作示例 143 5.4 具有拖放操作功能的組件 146 5.4.1 功能概述 146 5.4.2 界面設計與初始化 147 5.4.3 拖放操作屬性的顯示 148 5.4.4 拖放屬性的設置 149 5.4.5 通過事件過濾器實現項的刪除 150 第6章 對話框與多窗口設計 151 6.1 標準對話框 151 6.1.1 概述 151 6.1.2 QFileDialog對話框 152 6.1.3 QColorDialog對話框 154 6.1.4 QFontDialog對話框 154 6.1.5 QProgressDialog對話框 155 6.1.6 QInputDialog輸入對話框 156 6.1.7 QMessageBox消息對話框 157 6.2 自定義對話框及其使用 159 6.2.1 對話框的不同調用方式 159 6.2.2 示例項目的文件組成 160 6.2.3 主窗口的設計與初始化 161 6.2.4 對話框QmyDialogSize的創建和使用 163 6.2.5 對話框QmyDialogHeaders的創建和使用 165 6.2.6 對話框QmyDialogLocate的創建和使用 166 6.3 多窗口應用程序 170 6.3.1 主要的窗體類及其用途 170 6.3.2 窗體類重要特性的設置 170 6.3.3 多窗口應用程序設計示例 172 6.4 MDI應用程序設計 179 6.4.1 MDI簡介 179 6.4.2 文檔窗體類QmyFormDoc的設計 180 6.4.3 主窗口設計與子窗口的使用 181 第7章 數據庫 185 7.1 Qt SQL模塊概述 185 7.1.1 Qt SQL支持的數據庫 185 7.1.2 SQLite數據庫 185 7.1.3 Qt SQL模塊的主要類 187 7.2 QSqlTableModel的使用 188 7.2.1 功能概述 188 7.2.2 窗體可視化設計 190 7.2.3 窗體業務邏輯類的設計和初始化 190 7.2.4 打開數據庫和數據表 191 7.2.5 添加、插入與刪除記錄 197 7.2.6 保存與取消修改 198 7.2.7 設置和清除照片 199 7.2.8 數據記錄的遍歷 199 7.2.9 記錄的排序 200 7.2.10 記錄的過濾 200 7.3 QSqlQueryModel的使用 201 7.3.1 QSqlQueryModel功能概述 201 7.3.2 窗體業務邏輯類的設計和初始化 202 7.3.3 打開數據庫和查詢數據 202 7.3.4 記錄移動 205 7.4 QSqlQuery的使用 206 7.4.1 QSqlQuery基本用法 206 7.4.2 QSqlQueryModel和QSqlQuery聯合使用 207 7.5 QSqlRelationalTableModel的使用 215 7.5.1 關系數據表和示例功能 215 7.5.2 關系數據模型功能實現 216 第8章 繪圖 219 8.1 QPainter繪圖 219 8.1.1 QPainter繪圖系統 219 8.1.2 QPen的主要功能 221 8.1.3 QBrush的主要功能 223 8.1.4 漸變填充 224 8.1.5 QPainter繪制基本圖形 227 8.2 坐標系統和坐標變換 230 8.2.1 坐標變換函數 230 8.2.2 坐標變換繪圖實例 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繪圖架構 241 8.4.1 場景、視圖與圖形項 241 8.4.2 Graphics View的坐標系統 242 8.4.3 Graphics View相關的類 243 8.4.4 Graphics View程序基本結構 246 8.4.5 Graphics View繪圖程序示例 250 第9章 文件 261 9.1 文件操作相關類概述 261 9.1.1 文件操作接口類QFile 261 9.1.2 文件流操作類QTextStream和QDataStream 262 9.1.3 目錄和文件操作相關的類 262 9.2 文本文件讀寫 263 9.2.1 功能概述 263 9.2.2 QFile讀寫文本文件 263 9.2.3 QFile和QTextStream結合讀寫文本文件 266 9.2.4 Python內建函數讀寫文本文件 268 9.3 二進制文件讀寫 269 9.3.1 基礎知識和工具軟件 269 9.3.2 QDataStream功能概述 271 9.3.3 QDataStream流化數據讀寫 272 9.3.4 QDataStream原始數據讀寫 281 9.4 目錄和文件操作 288 9.4.1 目錄和文件操作相關的類 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 示例功能和界面可視化設計 324 10.5.3 使用攝像頭拍照 324 10.5.4 使用QMediaRecorder通過攝像頭錄像 328 第 11章 GUI設計增強技術 329 11.1 多語言界面 329 11.1.1 多語言界面設計概述 329 11.1.2 多語言界面設計示例 331 11.2 QSS定制界面 336 11.2.1 Qt樣式表的作用 336 11.2.2 Qt樣式表句法 337 11.2.3 Qt樣式表的使用 342 第三部分 數據可視化 第 12章 PyQtChart二維繪圖 346 12.1 PyQtChart概述 346 12.1.1 模塊安裝與基本功能 346 12.1.2 一個簡單的PyQtChart繪圖程序 347 12.1.3 圖表的主要組成部分 348 12.2 QChart繪制折線圖 350 12.2.1 示例功能概述與界面設計 350 12.2.2 QPen屬性設置對話框設計 351 12.2.3 主窗口業務邏輯類初始化 353 12.2.4 圖表各組成部件的屬性設置 356 12.3 QChart繪圖高級功能 365 12.3.1 功能概述 365 12.3.2 自定義類QmyChartView 366 12.3.3 主窗口可視化設計 368 12.3.4 繪圖功能的實現 368 12.4 對數坐標軸和多坐標軸 373 12.4.1 功能概述 373 12.4.2 主窗口可視化設計 374 12.4.3 界面和圖表初始化 374 12.4.4 載入數據文件并繪制曲線 375 12.5 餅圖和各種柱狀圖 377 12.5.1 功能概述 377 12.5.2 窗口初始化與數據準備 378 12.5.3 其他界面操作功能的實現 381 12.5.4 柱狀圖 382 12.5.5 堆疊柱狀圖 387 12.5.6 百分比柱狀圖 388 12.5.7 餅圖 390 12.6 蠟燭圖和日期時間坐標軸 392 12.6.1 功能概述 392 12.6.2 界面和圖表初始化 394 12.6.3 繪圖功能的實現 395 12.7 區域填充圖 399 12.7.1 功能概述 399 12.7.2 界面和圖表初始化 400 12.7.3 繪圖功能的實現 402 12.8 極坐標圖 405 12.8.1 功能概述 405 12.8.2 繪制極坐標圖 406 12.8.3 其他功能的實現 408 第 13章 PyQtDataVisualization三維繪圖 411 13.1 PyQtDataVisualization模塊概述 411 13.1.1 模塊安裝與導入 411 13.1.2 模塊中主要的類 411 13.2 三維柱狀圖 413 13.2.1 功能概述 413 13.2.2 窗體可視化設計 413 13.2.3 初始化創建三維柱狀圖 414 13.2.4 其他功能的實現 417 13.3 三維散點圖 424 13.3.1 功能概述 424 13.3.2 創建三維散點圖 425 13.3.3 散點數據管理 427 13.4 三維曲面圖 429 13.4.1 功能概述 429 13.4.2 三維曲面圖 429 13.4.3 三維地形圖 434 第 14章 Matplotlib數據可視化 437 14.1 Matplotlib的基本用法 437 14.1.1 Matplotlib的安裝 437 14.1.2 一個腳本化的繪圖程序 438 14.1.3 GUI程序中的Matplotlib繪圖 439 14.2 圖的主要元素的面向對象操作 443 14.2.1 圖的主要組成元素 443 14.2.2 示例程序功能和窗體可視化設計 445 14.2.3 界面創建與初始化繪圖 446 14.2.4 Figure對象的操作 450 14.2.5 Axes子圖的操作 453 14.2.6 曲線設置 456 14.2.7 x軸和y軸設置 458 14.3 交互操作 464 14.3.1 交互功能概述 464 14.3.2 界面構造與初始化繪圖 466 14.3.3 界面其他功能的實現 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 極坐標圖 480 14.5 三維數據繪圖 482 14.5.1 三維數據繪圖概述 482 14.5.2 窗體初始化 483 14.5.3 繪制三維圖 486 14.5.4 三維數據繪制二維圖 487 14.5.5 colormap 488 |
序: |
|