Qt 5.9 C++開發指南( 簡體 字) | |
作者:王維波 栗寶鵑 侯春望 | 類別:1. -> 作業系統 -> Linux -> QT |
出版社:人民郵電出版社 | 3dWoo書號: 55108 詢問書籍請說出此書號! 有庫存 NT售價: 500 元 |
出版日:8/1/2021 | |
頁數:459 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787115478689 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第 1章 認識Qt 1
1.1 Qt簡介 1 1.2 Qt的獲取與安裝 1 1.2.1 Qt的許可類型 1 1.2.2 Qt的版本 2 1.2.3 Qt的下載與安裝 2 1.3 Qt Creator初步使用 5 1.3.1 Qt Creator的界面組成 5 1.3.2 Qt Creator的設置 6 1.4 編寫一個Hello World程序 7 1.4.1 新建一個項目 7 1.4.2 項目的文件組成和管理 10 1.4.3 項目的編譯、調試與運行 11 1.5 在Visual Studio里使用Qt 13 第 2章 GUI應用程序設計基礎 16 2.1 UI文件設計與運行機制 16 2.1.1 項目文件組成 16 2.1.2 項目管理文件 16 2.1.3 界面文件 17 2.1.4 主函數文件 19 2.1.5 窗體相關的文件 20 2.2 可視化UI設計 25 2.2.1 實例程序功能 26 2.2.2 界面組件布局 26 2.2.3 信號與槽 29 2.2.4 可視化生成槽函數原型和 框架 30 2.3 代碼化UI設計 34 2.3.1 實例功能 34 2.3.2 界面創建 34 2.3.3 信號與槽的關聯 37 2.4 混合方式UI設計 37 2.4.1 設計目的 37 2.4.2 創建項目并添加資源文件 38 2.4.3 設計Action 39 2.4.4 設計菜單和工具欄 41 2.4.5 代碼創建其他界面組件 44 2.4.6 Action的功能實現 45 2.4.7 手工創建的組件的 信號與槽 47 2.4.8 為應用程序設置圖標 48 2.5 Qt Creator使用技巧 48 第3章 Qt類庫概述 50 3.1 Qt核心特點 50 3.1.1 概述 50 3.1.2 元對象系統 50 3.1.3 屬性系統 52 3.1.4 信號與槽 53 3.1.5 元對象特性測試實例 55 3.2 Qt全局定義 59 3.2.1 數據類型定義 60 3.2.2 函數 60 3.2.3 宏定義 61 3.3 容器類 62 3.3.1 容器類概述 62 3.3.2 順序容器類 63 3.3.3 關聯容器類 64 3.4 容器類的迭代 66 3.4.1 Java類型迭代器 66 3.4.2 STL類型迭代器 68 3.4.3 foreach關鍵字 69 3.5 Qt類庫的模塊 70 3.5.1 Qt基本模塊 71 3.5.2 Qt附加模塊 71 3.5.3 增值模塊 72 3.5.4 技術預覽模塊 72 3.5.5 Qt工具 73 第4章 常用界面設計組件 74 4.1 字符串與輸入輸出 74 4.1.1 字符串與數值之間的轉換 74 4.1.2 QString的常用功能 76 4.2 SpinBox的使用 78 4.3 其他數值輸入和顯示組件 80 4.3.1 實例功能 80 4.3.2 各組件的主要功能和屬性 80 4.3.3 實例功能的代碼實現 82 4.4 時間日期與定時器 84 4.4.1 時間日期相關的類 84 4.4.2 日期時間數據與字符串之間的 轉換 84 4.4.3 QCalendarWidget日歷組件 87 4.4.4 定時器的使用 87 4.5 QComboBox和QPlainTextEdit 89 4.5.1 實例功能概述 89 4.5.2 QComboBox的使用 89 4.5.3 QPlainTextEdit的使用 91 4.6 QListWidget和QToolButton 93 4.6.1 實例功能簡介 93 4.6.2 界面設計 94 4.6.3 QListWidget的操作 97 4.6.4 QToolButton與下拉式 菜單 99 4.6.5 創建右鍵快捷菜單 101 4.7 QTreeWidget和QDockWidget 102 4.7.1 實例功能概述 102 4.7.2 界面設計 103 4.7.3 QTreeWidget操作 105 4.7.4 QLabel和Qpixmap 顯示圖片 110 4.7.5 QDockWidget的操作 111 4.8 QTableWidget的使用 112 4.8.1 QTableWidget概述 112 4.8.2 界面設計與初始化 113 4.8.3 QTableWidget操作 114 第5章 Model/View結構 120 5.1 Model/View結構 120 5.1.1 Model/View基本原理 120 5.1.2 數據模型 121 5.1.3 視圖組件 122 5.1.4 代理 122 5.1.5 Model/View結構的一些 概念 123 5.2 QFileSystemModel 125 5.2.1 QFileSystemModel類的 基本功能 125 5.2.2 QFileSystemModel的 使用 125 5.3 QStringListModel 127 5.3.1 QstringListModel 功能概述 127 5.3.2 QStringListModel的使用 127 5.4 QStandardItemModel 130 5.4.1 功能概述 130 5.4.2 界面設計與主窗口類 定義 131 5.4.3 QStandardItemModel的 使用 132 5.5 自定義代理 139 5.5.1 自定義代理的功能 139 5.5.2 自定義代理類的基本 設計要求 139 5.5.3 基于QSpinBox的自定義 代理類 139 5.5.4 自定義代理類的使用 141 第6章 對話框與多窗體設計 143 6.1 標準對話框 143 6.1.1 概述 143 6.1.2 QFileDialog對話框 144 6.1.3 QColorDialog對話框 146 6.1.4 QFontDialog對話框 146 6.1.5 QInputDialog標準輸入 對話框 147 6.1.6 QMessageBox消息對話框 149 6.2 自定義對話框及其調用 150 6.2.1 對話框的不同調用方式 150 6.2.2 對話框QWDialogSize的 創建和使用 152 6.2.3 對話框QWDialogHeaders的 創建和使用 154 6.2.4 對話框QWDialogLocate的 創建與使用 156 6.2.5 利用信號與槽實現交互 操作 160 6.3 多窗體應用程序設計 162 6.3.1 主要的窗體類及其用途 162 6.3.2 窗體類重要特性的設置 163 6.3.3 多窗口應用程序的設計 165 6.4 MDI應用程序設計 170 6.4.1 MDI簡介 170 6.4.2 文檔窗口類QFormDoc的 設計 171 6.4.3 MDI主窗口設計與子窗口的 使用 173 6.5 Splash與登錄窗口 176 6.5.1 實例功能概述 176 6.5.2 對話框界面設計和類 定義 177 6.5.3 QDlgLogin類功能實現 178 6.5.4 Splash登錄窗口的使用 181 第7章 文件系統和文件讀寫 182 7.1 文本文件讀寫 182 7.1.1 實例功能概述 182 7.1.2 QFile讀寫文本文件 182 7.1.3 QFile和QTextStream結合 讀寫文本文件 184 7.1.4 解決中文亂碼的問題 185 7.2 二進制文件讀寫 186 7.2.1 實例功能概述 186 7.2.2 Qt預定義編碼文件的讀寫 187 7.2.3 標準編碼文件的讀寫 192 7.3 文件目錄操作 197 7.3.1 文件目錄操作相關的類 197 7.3.2 實例概述 197 7.3.3 QCoreApplication類 199 7.3.4 QFile類 199 7.3.5 QFileInfo類 200 7.3.6 QDir類 201 7.3.7 QTemporaryDir和 QTemporaryFile 203 7.3.8 QFileSystemWatcher類 203 第8章 繪圖 206 8.1 QPainter基本繪圖 206 8.1.1 QPainter繪圖系統 206 8.1.2 QPen的主要功能 209 8.1.3 QBrush的主要功能 210 8.1.4 漸變填充 212 8.1.5 QPainter繪制基本圖形 元件 214 8.2 坐標系統和坐標變換 217 8.2.1 坐標變換函數 217 8.2.2 坐標變換繪圖實例 218 8.2.3 視口和窗口 221 8.2.4 繪圖疊加的效果 223 8.3 Graphics View繪圖架構 224 8.3.1 場景、視圖與圖形項 224 8.3.2 Graphics View的坐標 系統 226 8.3.3 Graphics View相關的類 227 8.3.4 Graphics View程序基本結構 和功能實現 229 8.3.5 Graphics View繪圖程序 實例 235 第9章 Qt Charts 247 9.1 Qt Charts概述 247 9.1.1 Qt Charts模塊 247 9.1.2 一個簡單的QChart繪圖 程序 248 9.1.3 圖表的主要組成部分 249 9.2 QChart繪制折線圖 253 9.2.1 實例功能 253 9.2.2 主窗口類定義和初始化 253 9.2.3 畫筆設置對話框 QWDialogPen 256 9.2.4 QChart的設置 257 9.2.5 QLineSeries序列的設置 259 9.2.6 QValueAxis坐標軸的 設置 261 9.3 各種常見圖表的繪制 263 9.3.1 實例功能概述 263 9.3.2 數據準備 264 9.3.3 柱狀圖 267 9.3.4 餅圖 270 9.3.5 堆疊柱狀圖 273 9.3.6 百分比柱狀圖 274 9.3.7 散點圖和光滑曲線圖 276 9.4 圖表的其他操作 277 9.4.1 實例功能概述 277 9.4.2 自定義QWChartView類 278 9.4.3 主窗口類的設計 280 9.4.4 實時顯示光標處的數值 281 9.4.5 QLegendMarker的使用 282 9.4.6 圖表的縮放 283 第 10章 Data Visualization 284 10.1 Data Visualization模塊概述 284 10.2 三維柱狀圖 285 10.2.1 實例功能 285 10.2.2 主窗口設計 286 10.2.3 三維柱狀圖的創建 287 10.2.4 三維柱狀圖屬性設置 289 10.3 三維散點圖 293 10.3.1 繪制三維散點圖 293 10.3.2 三維坐標軸的方向 296 10.3.3 散點形狀與大小 296 10.4 三維曲面繪圖 296 10.4.1 三維曲面圖 296 10.4.2 三維地形圖 301 第 11章 數據庫 305 11.1 Qt SQL模塊概述 305 11.1.1 Qt SQL支持的數據庫 305 11.1.2 SQLite數據庫 306 11.1.3 Qt SQL模塊的主要類 308 11.2 QSqlTableModel的使用 309 11.2.1 實例功能 309 11.2.2 主窗口設計 310 11.2.3 打開數據表 311 11.2.4 添加、插入與刪除記錄 319 11.2.5 保存與取消修改 319 11.2.6 設置和清除照片 320 11.2.7 數據記錄的遍歷 321 11.2.8 記錄排序 322 11.2.9 記錄過濾 322 11.3 QSqlQueryModel的使用 323 11.3.1 QSqlQueryModel功能 概述 323 11.3.2 使用QSqlQueryModel實現 數據查詢 323 11.4 QSqlQuery的使用 327 11.4.1 QSqlQuery基本用法 327 11.4.2 QSqlQueryModel和 QSqlQuery聯合使用 328 11.5 QSqlRelationalTableModel的 使用 336 11.5.1 關系型數據表和實例 功能 336 11.5.2 關系型數據模型功能 實現 338 第 12章 自定義插件和庫 340 12.1 自定義Widget組件 340 12.1.1 自定義Widget子類 QmyBattery 340 12.1.2 自定義Widget組件的 使用 343 12.2 自定義Qt Designer插件 344 12.2.1 創建Qt Designer Widget插件項目 344 12.2.2 插件項目各文件的功能 實現 346 12.2.3 插件的編譯與安裝 349 12.2.4 使用自定義插件 350 12.2.5 使用MSVC編譯器輸出 中文的問題 352 12.3 創建和使用靜態鏈接庫 353 12.3.1 創建靜態鏈接庫 353 12.3.2 靜態鏈接庫的使用 354 12.4 創建和使用共享庫 357 12.4.1 創建共享庫 357 12.4.2 使用共享庫 358 第 13章 多線程 362 13.1 QThread創建多線程程序 362 13.1.1 QThread類功能簡介 362 13.1.2 擲骰子的線程 QDiceThread 363 13.1.3 擲骰子的多線程應用 程序 365 13.2 線程同步 367 13.2.1 線程同步的概念 367 13.2.2 基于互斥量的線程同步 368 13.2.3 基于QReadWriteLock的 線程同步 371 13.2.4 基于QWaitCondition的 線程同步 373 13.2.5 基于信號量的線程同步 377 第 14章 網絡編程 383 14.1 主機信息查詢 383 14.1.1 QHostInfo和 QNetworkInterface類 383 14.1.2 QHostInfo的使用 384 14.1.3 QNetworkInterface的 使用 386 14.2 TCP通信 388 14.2.1 TCP通信概述 388 14.2.2 TCP服務器端程序 設計 390 14.2.3 TCP客戶端程序設計 395 14.3 QUdpSocket實現UDP通信 397 14.3.1 UDP通信概述 397 14.3.2 UDP單播和廣播 398 14.3.3 UDP組播 402 14.4 基于HTTP協議的網絡應用 程序 405 14.4.1 實現高層網絡操作的類 405 14.4.2 基于HTTP協議的網絡 文件下載 406 第 15章 多媒體 409 15.1 Qt多媒體模塊功能概述 409 15.2 音頻播放 410 15.2.1 使用QMediaPlayer播放 音樂文件 410 15.2.2 使用QSoundEffect和Qsound 播放音效文件 415 15.3 音頻輸入 415 15.3.1 使用QAudioRecorder 錄制音頻 415 15.3.2 使用QAudioInput獲取 音頻輸入 421 15.4 視頻播放 428 15.4.1 在QVideoWidget上播放 視頻 428 15.4.2 在QGraphicsVideoItem上 播放視頻 431 15.5 攝像頭的使用 433 15.5.1 攝像頭控制概述 433 15.5.2 實例主窗口設計與初始化 435 15.5.3 QCamera對象創建與控制 436 15.5.4 QCameraImageCapture抓取靜態圖片 438 15.5.5 QMediaRecorder視頻錄制 439 第 16章 應用程序設計輔助功能 441 16.1 多語言界面 441 16.1.1 多語言界面設計概述 441 16.1.2 tr()函數的使用 441 16.1.3 生成語言翻譯文件 442 16.1.4 使用Qt Linguist翻譯ts文件 443 16.1.5 調用翻譯文件改變界面語言 444 16.2 使用樣式表自定義界面 446 16.2.1 Qt樣式表 446 16.2.2 Qt樣式表句法 447 16.2.3 樣式表的使用 453 16.3 使用QStyle設置界面外觀 455 16.3.1 QStyle的作用 455 16.3.2 Qt內置樣式的使用 456 16.4 Qt應用程序的發布 457 16.4.1 應用程序發布方式 457 16.4.2 Windows平臺上的應用程序發布 458 本書以Qt 5.9 LTS版本為開發平臺,詳細介紹了Qt C++開發應用程序的技術,包括Qt應用程序的基本架構、信號與槽工作機制、圖形顯示的Graphics/View架構、數據編輯和顯示的Model/View架構、對話框和多窗口的設計與調用方法等,介紹了常用界面組件、文件讀寫、繪圖、圖表、數據可視化、數據庫、多線程、網絡和多媒體等模塊的使用。每個編程主題都精心設計了完整的實例程序。
通過閱讀本書,可了解Qt C++開發應用程序所需的基本技術。本書適合具有C++語言編程基礎,希望應用Qt C++開發跨平臺應用程序的讀者閱讀。 |