注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Qt 6 C++開(kāi)發(fā)指南

Qt 6 C++開(kāi)發(fā)指南

Qt 6 C++開(kāi)發(fā)指南

定 價(jià):¥139.80

作 者: 王維波
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115602404 出版時(shí)間: 2023-01-01 包裝: 平裝-膠訂
開(kāi)本: 128開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)以Qt 6為開(kāi)發(fā)平臺(tái),系統(tǒng)介紹如何用Qt C開(kāi)發(fā)應(yīng)用程序。首先介紹Qt C應(yīng)用程序的基本結(jié)構(gòu)、界面可視化設(shè)計(jì)和布局管理方法、元對(duì)象系統(tǒng)的功能及其應(yīng)用等基本內(nèi)容,然后深入講解常用界面組件、模型/視圖結(jié)構(gòu)、事件處理、對(duì)話框和多窗口程序設(shè)計(jì)、文件讀寫(xiě)等功能的編程方法,以及數(shù)據(jù)庫(kù)、多線程、網(wǎng)絡(luò)、多媒體、圖表、數(shù)據(jù)可視化、串口通信等功能模塊的使用。本書(shū)內(nèi)容豐富,輔以大量精心設(shè)計(jì)的完整示例程序,涵蓋進(jìn)行GUI程序設(shè)計(jì)所需掌握的各種技術(shù)主題。

作者簡(jiǎn)介

  王維波,博士,中國(guó)石油大學(xué)(華東)教師,主要從事儀器儀表開(kāi)發(fā)的教學(xué)和科研工作。著有《STM32Cube 高效開(kāi)發(fā)教程》,曾開(kāi)發(fā)多個(gè)工業(yè)應(yīng)用嵌入式系統(tǒng)和專(zhuān)業(yè)數(shù)據(jù)處理軟件。 栗寶鵑,博士,中水北方勘測(cè)設(shè)計(jì)研究有限責(zé)任公司高級(jí)工程師,主要從事工程勘察、綜合地球物理探測(cè)與檢測(cè)中的數(shù)據(jù)處理、解譯與成像等工程應(yīng)用和研究工作。 侯春望,碩士,中國(guó)石油大學(xué)(華東)教師,主要從事單片機(jī)系統(tǒng)和應(yīng)用軟件開(kāi)發(fā)方面的教學(xué)和研究工作,精通Qt C 編程,曾開(kāi)發(fā)多個(gè)專(zhuān)業(yè)應(yīng)用軟件。

圖書(shū)目錄

第 1章 認(rèn)識(shí)Qt  1
1.1 Qt簡(jiǎn)介  1
1.1.1 Qt的跨平臺(tái)開(kāi)發(fā)能力  1
1.1.2 Qt的許可類(lèi)型和安裝包  2
1.1.3 Qt支持的開(kāi)發(fā)語(yǔ)言  3
1.1.4 Qt 6新特性  4
1.2 Qt的安裝  5
1.2.1 本書(shū)使用的Qt版本  5
1.2.2 安裝Qt  5
1.2.3 安裝后的Qt  8
1.3 編寫(xiě)一個(gè)Hello World程序  9
1.3.1 Qt Creator簡(jiǎn)介  9
1.3.2 新建一個(gè)GUI項(xiàng)目  10
1.3.3 項(xiàng)目的文件組成和管理  12
1.3.4 項(xiàng)目的構(gòu)建、調(diào)試與運(yùn)行  13
第 2章 GUI程序設(shè)計(jì)基礎(chǔ)  15
2.1 GUI程序結(jié)構(gòu)與運(yùn)行機(jī)制  15
2.1.1 GUI項(xiàng)目文件組成  15
2.1.2 項(xiàng)目配置文件  15
2.1.3 UI文件  17
2.1.4 主程序文件  18
2.1.5 窗口相關(guān)的文件  19
2.2 可視化UI設(shè)計(jì)  23
2.2.1 窗口界面可視化設(shè)計(jì)  24
2.2.2 界面組件布局管理  25
2.2.3 信號(hào)與槽簡(jiǎn)介  28
2.2.4 信號(hào)與槽的使用  29
2.2.5 為應(yīng)用程序設(shè)置圖標(biāo)  31
2.2.6 Qt項(xiàng)目構(gòu)建過(guò)程基本原理  32
2.3 代碼化UI設(shè)計(jì)  33
2.3.1 示例功能概述  33
2.3.2 示例功能實(shí)現(xiàn)  33
2.4 使用CMake構(gòu)建系統(tǒng)  36
2.4.1 CMake項(xiàng)目配置  37
2.4.2 CMake項(xiàng)目構(gòu)建  38
2.4.3 使用cmake-gui生成Visual Studio項(xiàng)目  40
2.5 Qt Creator使用技巧  41
2.5.1 文本編輯器使用技巧  42
2.5.2 項(xiàng)目管理  42
2.5.3 代碼模型  42
第3章 Qt框架功能概述  44
3.1 Qt 6框架中的模塊  44
3.1.1 Qt基礎(chǔ)模塊  44
3.1.2 Qt附加模塊  45
3.2 Qt全局定義  45
3.2.1 數(shù)據(jù)類(lèi)型定義  46
3.2.2 函數(shù)  46
3.2.3 宏定義  47
3.3 Qt的元對(duì)象系統(tǒng)  47
3.3.1 元對(duì)象系統(tǒng)概述  48
3.3.2 運(yùn)行時(shí)類(lèi)型信息  50
3.3.3 屬性系統(tǒng)  51
3.3.4 信號(hào)與槽  53
3.3.5 對(duì)象樹(shù)  57
3.3.6 元對(duì)象系統(tǒng)功能測(cè)試示例  58
3.4 容器類(lèi)  63
3.4.1 順序容器類(lèi)  63
3.4.2 關(guān)聯(lián)容器類(lèi)  65
3.4.3 遍歷容器的數(shù)據(jù)  66
3.5 其他常用的基礎(chǔ)類(lèi)  68
3.5.1 QVariant類(lèi)  68
3.5.2 QFlags類(lèi)  69
3.5.3 QRandomGenerator類(lèi)  70
第4章 常用界面組件的使用  72
4.1 界面組件概述  72
4.1.1 常用的界面組件  72
4.1.2 QWidget類(lèi)的主要屬性和接口函數(shù)  76
4.2 布局管理  78
4.2.1 布局管理相關(guān)的類(lèi)  79
4.2.2 布局可視化設(shè)計(jì)及其代碼原理  80
4.3 QString字符串操作  83
4.3.1 QString簡(jiǎn)介  83
4.3.2 QChar的功能  84
4.3.3 QChar主要功能測(cè)試  86
4.3.4 QString字符串常用操作  88
4.3.5 QString字符串常用功能測(cè)試  93
4.3.6 QString字符串與數(shù)值的轉(zhuǎn)換  94
4.3.7 QString字符串與數(shù)值轉(zhuǎn)換示例  98
4.4 QSpinBox和QDoubleSpinBox  100
4.4.1 QSpinBox類(lèi)和QDoubleSpinBox類(lèi)  100
4.4.2 示例程序  101
4.5 常用的按鈕組件  102
4.5.1 各按鈕類(lèi)的接口詳解  103
4.5.2 示例程序功能實(shí)現(xiàn)  104
4.6 QSlider和QProgressBar  106
4.6.1 各組件類(lèi)的主要屬性和接口函數(shù)  106
4.6.2 示例程序功能實(shí)現(xiàn)  108
4.7 日期時(shí)間數(shù)據(jù)  109
4.7.1 表示日期時(shí)間數(shù)據(jù)的類(lèi)  109
4.7.2 日期時(shí)間數(shù)據(jù)的界面組件  113
4.7.3 示例程序功能實(shí)現(xiàn)  115
4.8 QTimer和QElapsedTimer  116
4.8.1 QTimer類(lèi)  116
4.8.2 QElapsedTimer類(lèi)  117
4.8.3 示例程序功能實(shí)現(xiàn)  118
4.9 QComboBox  121
4.9.1 QComboBox類(lèi)  121
4.9.2 示例程序功能實(shí)現(xiàn)  122
4.10 QMainWindow和QAction  125
4.10.1 窗口界面可視化設(shè)計(jì)  125
4.10.2 QAction類(lèi)  128
4.10.3 QToolBar類(lèi)  130
4.10.4 QStatusBar類(lèi)  130
4.10.5 混合式UI設(shè)計(jì)  131
4.10.6 QPlainTextEdit的使用  133
4.11 QToolButton和QListWidget  135
4.11.1 窗口界面可視化設(shè)計(jì)  135
4.11.2 QToolButton與界面補(bǔ)充創(chuàng)建  137
4.11.3 QListWidget的操作  140
4.11.4 創(chuàng)建右鍵快捷菜單  145
4.12 QTreeWidget  146
4.12.1 窗口界面可視化設(shè)計(jì)  146
4.12.2 QTreeWidget類(lèi)  148
4.12.3 QTreeWidgetItem類(lèi)  151
4.12.4 示例中QTreeWidget的操作  153
4.12.5 用QLabel和QPixmap顯示圖片  159
4.12.6 示例中QDockWidget的操作  160
4.13 QTableWidget  161
4.13.1 窗口界面可視化設(shè)計(jì)和初始化  161
4.13.2 QTableWidget類(lèi)  163
4.13.3 QTableWidgetItem類(lèi)  165
4.13.4 示例中QTableWidget的操作  166
第5章 模型/視圖結(jié)構(gòu)  171
5.1 模型/視圖結(jié)構(gòu)概述  171
5.1.1 模型/視圖結(jié)構(gòu)基本原理  171
5.1.2 模型  172
5.1.3 視圖  172
5.1.4 代理  173
5.1.5 模型/視圖結(jié)構(gòu)的一些概念  173
5.1.6 QAbstractItemModel類(lèi)  175
5.1.7 QAbstractItemView類(lèi)  177
5.2 QStringListModel和QListView  178
5.2.1 QStringListModel類(lèi)  179
5.2.2 示例程序功能實(shí)現(xiàn)  179
5.3 QStandardItemModel和QTableView  182
5.3.1 QTableView類(lèi)  183
5.3.2 QStandardItemModel類(lèi)  183
5.3.3 QStandardItem類(lèi)  185
5.3.4 QItemSelectionModel類(lèi)  187
5.3.5 示例程序功能實(shí)現(xiàn)  188
5.4 自定義代理  194
5.4.1 自定義代理的功能  195
5.4.2 QStyledItemDelegate類(lèi)  195
5.4.3 設(shè)計(jì)自定義代理類(lèi)  196
5.4.4 使用自定義代理類(lèi)  199
5.5 QFileSystemModel和QTreeView  199
5.5.1 QFileSystemModel類(lèi)  200
5.5.2 QTreeView類(lèi)  202
5.5.3 示例程序功能實(shí)現(xiàn)  202
第6章 事件處理  205
6.1 Qt的事件系統(tǒng)  205
6.1.1 事件的產(chǎn)生和派發(fā)  205
6.1.2 事件類(lèi)和事件類(lèi)型  207
6.1.3 事件的處理  209
6.1.4 典型事件處理示例  210
6.2 事件與信號(hào)  213
6.2.1 函數(shù)event()的作用  213
6.2.2 事件與信號(hào)編程示例  214
6.3 事件過(guò)濾器  216
6.3.1 事件過(guò)濾器工作原理  217
6.3.2 事件過(guò)濾器編程示例  217
6.4 拖放事件與拖放操作  218
6.4.1 拖放操作相關(guān)事件  219
6.4.2 外部文件拖放操作示例  219
6.5 具有拖放操作功能的組件  222
6.5.1 示例窗口類(lèi)定義和初始化  223
6.5.2 拖放操作屬性的顯示  224
6.5.3 拖放操作屬性的設(shè)置  226
6.5.4 通過(guò)事件過(guò)濾器實(shí)現(xiàn)項(xiàng)的刪除  227
第7章 對(duì)話框和多窗口程序設(shè)計(jì)  228
7.1 標(biāo)準(zhǔn)對(duì)話框  228
7.1.1 QFileDialog對(duì)話框  229
7.1.2 QColorDialog對(duì)話框  231
7.1.3 QFontDialog對(duì)話框  232
7.1.4 QProgressDialog對(duì)話框  232
7.1.5 QInputDialog標(biāo)準(zhǔn)輸入對(duì)話框  233
7.1.6 QMessageBox消息對(duì)話框  236
7.2 設(shè)計(jì)和使用自定義對(duì)話框  237
7.2.1 QDialog類(lèi)  238
7.2.2 示例功能概述  239
7.2.3 主窗口類(lèi)定義和初始化  240
7.2.4 TDialogSize對(duì)話框的設(shè)計(jì)和使用  242
7.2.5 TDialogHeaders對(duì)話框的設(shè)計(jì)和使用  244
7.2.6 TDialogLocate對(duì)話框的設(shè)計(jì)和使用  245
7.3 多窗口應(yīng)用程序設(shè)計(jì)  249
7.3.1 窗口類(lèi)重要特性的設(shè)置  249
7.3.2 多窗口應(yīng)用程序設(shè)計(jì)示例  251
7.4 MDI應(yīng)用程序設(shè)計(jì)  258
7.4.1 QMdiArea類(lèi)  259
7.4.2 QMdiSubWindow類(lèi)  261
7.4.3 MDI應(yīng)用程序設(shè)計(jì)示例  261
7.5 Splash與登錄窗口  266
7.5.1 Splash登錄對(duì)話框的界面設(shè)計(jì)和類(lèi)定義  267
7.5.2 TDialogLogin類(lèi)的功能實(shí)現(xiàn)  268
7.5.3 TDialogLogin對(duì)話框的使用  271
第8章 文件系統(tǒng)操作和文件讀寫(xiě)  272
8.1 文件操作相關(guān)類(lèi)概述  272
8.1.1 輸入輸出設(shè)備類(lèi)  272
8.1.2 文件讀寫(xiě)操作類(lèi)  273
8.1.3 特定格式文件的讀寫(xiě)  274
8.2 目錄和文件操作  274
8.2.1 示例設(shè)計(jì)概述  275
8.2.2 QCoreApplication類(lèi)  277
8.2.3 QFile類(lèi)  277
8.2.4 QFileInfo類(lèi)  279
8.2.5 QDir類(lèi)  280
8.2.6 QTemporaryDir類(lèi)  283
8.2.7 QTemporaryFile類(lèi)  284
8.2.8 QFileSystemWatcher類(lèi)  285
8.3 讀寫(xiě)文本文件  287
8.3.1 用QFile讀寫(xiě)文本文件  287
8.3.2 用QSaveFile保存文件  291
8.3.3 結(jié)合使用QFile和QTextStream讀寫(xiě)文本文件  292
8.4 讀寫(xiě)二進(jìn)制文件  295
8.4.1 基礎(chǔ)知識(shí)和工具軟件  295
8.4.2 QDataStream類(lèi)  297
8.4.3 使用預(yù)定義編碼方式讀寫(xiě)文件  299
8.4.4 使用原始二進(jìn)制數(shù)據(jù)方式讀寫(xiě)文件  308
第9章 數(shù)據(jù)庫(kù)  316
9.1 Qt數(shù)據(jù)庫(kù)編程概述  316
9.1.1 Qt SQL模塊  316
9.1.2 SQLite數(shù)據(jù)庫(kù)簡(jiǎn)介  318
9.1.3 本章示例數(shù)據(jù)庫(kù)  318
9.2 QSqlTableModel的使用  319
9.2.1 主要的類(lèi)和基本工作原理  320
9.2.2 示例窗口界面設(shè)計(jì)和類(lèi)定義  323
9.2.3 打開(kāi)數(shù)據(jù)庫(kù)  324
9.2.4 其他功能的實(shí)現(xiàn)  332
9.3 QSqlQueryModel的使用  336
9.3.1 QSqlQueryModel類(lèi)  336
9.3.2 使用QSqlQueryModel實(shí)現(xiàn)數(shù)據(jù)查詢  337
9.4 QSqlQuery的使用  341
9.4.1 QSqlQuery類(lèi)  342
9.4.2 QSqlQuery使用示例  344
9.5 QSqlRelationalTableModel的使用  352
9.5.1 數(shù)據(jù)表之間的關(guān)系  352
9.5.2 QSqlRelationalTableModel類(lèi)的作用  353
9.5.3 QSqlRelationalTableModel類(lèi)的主要接口函數(shù)  354
9.5.4 示例程序設(shè)計(jì)  355
第 10章 繪圖  358
10.1 QPainter繪圖  358
10.1.1 QPainter繪圖系統(tǒng)  358
10.1.2 創(chuàng)建示例  360
10.1.3 QPen的主要功能  361
10.1.4 QBrush的主要功能  362
10.1.5 漸變填充  363
10.1.6 QPainter繪制基本圖形  367
10.2 坐標(biāo)系統(tǒng)和坐標(biāo)變換  370
10.2.1 坐標(biāo)變換  370
10.2.2 坐標(biāo)變換繪圖實(shí)例  371
10.2.3 視口和窗口  373
10.2.4 繪圖疊加的效果  375
10.3 圖形/視圖架構(gòu)  376
10.3.1 場(chǎng)景、視圖與圖形項(xiàng)  377
10.3.2 圖形/視圖架構(gòu)的坐標(biāo)系  378
10.3.3 圖形/視圖架構(gòu)相關(guān)的類(lèi)  379
10.3.4 圖形/視圖架構(gòu)示例程序  381
10.4 圖像處理  386
10.4.1 圖像表示和圖像處理概述  387
10.4.2 QImage類(lèi)  389
10.4.3 圖像處理示例程序  393
10.4.4 打印功能的實(shí)現(xiàn)  401
第 11章 自定義插件和庫(kù)  406
11.1 設(shè)計(jì)和使用自定義界面組件  406
11.1.1 設(shè)計(jì)自定義界面組件類(lèi)TBattery  406
11.1.2 使用自定義界面組件  409
11.2 設(shè)計(jì)和使用Qt Designer Widget插件  410
11.2.1 創(chuàng)建Qt Designer Widget插件項(xiàng)目  411
11.2.2 插件項(xiàng)目中各文件的功能實(shí)現(xiàn)  412
11.2.3 插件的編譯與安裝  415
11.2.4 使用自定義Widget插件  416
11.3 創(chuàng)建和使用靜態(tài)庫(kù)  418
11.3.1 創(chuàng)建靜態(tài)庫(kù)  418
11.3.2 使用靜態(tài)庫(kù)  420
11.4 創(chuàng)建和使用共享庫(kù)  421
11.4.1 創(chuàng)建共享庫(kù)  421
11.4.2 使用共享庫(kù)  423
第 12章 Qt Charts  425
12.1 Qt Charts模塊概述  425
12.1.1 一個(gè)簡(jiǎn)單的QChart繪圖程序  425
12.1.2 圖表的主要組成部分  427
12.2 通過(guò)QChart繪制折線圖  429
12.2.1 主窗口類(lèi)定義和初始化  429
12.2.2 QPen屬性設(shè)置對(duì)話框設(shè)計(jì)  432
12.2.3 圖表各組成部件的屬性設(shè)置  434
12.3 圖表交互操作  444
12.3.1 圖表交互操作概述  444
12.3.2 自定義圖表視圖類(lèi)TChartView  446
12.3.3 主窗口設(shè)計(jì)和初始化  449
12.3.4 交互操作功能的實(shí)現(xiàn)  451
12.4 餅圖和各種柱狀圖  455
12.4.1 主窗口設(shè)計(jì)和數(shù)據(jù)準(zhǔn)備  455
12.4.2 柱狀圖  459
12.4.3 堆疊柱狀圖  464
12.4.4 百分比柱狀圖  465
12.4.5 餅圖  467
第 13章 Qt Data Visualization  470
13.1 Data Visualization模塊概述  470
13.2 三維柱狀圖  471
13.2.1 示例主窗口設(shè)計(jì)  472
13.2.2 初始化創(chuàng)建三維柱狀圖  473
13.2.3 其他功能的實(shí)現(xiàn)  477
13.3 三維散點(diǎn)圖  483
13.3.1 繪制三維散點(diǎn)圖  483
13.3.2 散點(diǎn)數(shù)據(jù)管理  486
13.4 三維曲面圖  487
13.4.1 一般的三維曲面圖  488
13.4.2 三維地形圖  493
第 14章 多線程  495
14.1 使用QThread創(chuàng)建多線程程序  495
14.1.1 QThread類(lèi)簡(jiǎn)介  495
14.1.2 擲骰子的多線程應(yīng)用程序  496
14.2 線程同步  500
14.2.1 線程同步的概念  500
14.2.2 基于互斥量的線程同步  501
14.2.3 基于讀寫(xiě)鎖的線程同步  504
14.2.4 基于條件等待的線程同步  506
14.2.5 基于信號(hào)量的線程同步  510
第 15章 網(wǎng)絡(luò)  515
15.1 主機(jī)信息查詢  515
15.1.1 QHostInfo類(lèi)和QNetworkInterface類(lèi)  515
15.1.2 QHostInfo類(lèi)的使用  516
15.1.3 QNetworkInterface類(lèi)的使用  518
15.2 TCP通信  519
15.2.1 TCP通信相關(guān)的類(lèi)  520
15.2.2 TCP服務(wù)器端程序設(shè)計(jì)  522
15.2.3 TCP客戶端程序設(shè)計(jì)  526
15.3 UDP通信  528
15.3.1 QUdpSocket類(lèi)  528
15.3.2 UDP單播和廣播  529
15.3.3 UDP組播  533
15.4 基于HTTP的網(wǎng)絡(luò)應(yīng)用程序  536
第 16章 多媒體  540
16.1 多媒體模塊功能概述  540
16.2 播放音頻  541
16.2.1 QMediaPlayer功能概述  541
16.2.2 基于QMediaPlayer的音樂(lè)播放器  543
16.2.3 使用QSoundEffect播放音效文件  549
16.3 錄制音頻  549
16.3.1 QMediaRecorder類(lèi)功能概述  549
16.3.2 示例功能實(shí)現(xiàn)  550
16.4 采集和播放原始音頻數(shù)據(jù)  554
16.4.1 QAudioSource類(lèi)和QAudioSink類(lèi)功能概述  554
16.4.2 示例程序功能概述  556
16.4.3 采集原始音頻數(shù)據(jù)  557
16.4.4 播放原始音頻數(shù)據(jù)  563
16.5 播放視頻文件  565
16.5.1 在QVideoWidget上播放視頻文件  565
16.5.2 在QGraphicsVideoItem上播放視頻文件  569
16.6 攝像頭的使用  570
16.6.1 攝像頭控制概述  570
16.6.2 示例主窗口類(lèi)定義和初始化  573
16.6.3 拍照  578
16.6.4 錄像  579
第 17章 串口編程  581
17.1 Qt Serial Port模塊概述  581
17.1.1 QSerialPortInfo類(lèi)  581
17.1.2 QSerialPort類(lèi)  581
17.2 串口編程示例:ESP8266模塊通信程序  583
17.2.1 自定義標(biāo)簽類(lèi)TMyLabel的設(shè)計(jì)和使用  585
17.2.2 主窗口類(lèi)定義和初始化  585
17.2.3 通過(guò)串口讀寫(xiě)數(shù)據(jù)  587
第 18章 其他工具軟件和技術(shù)  591
18.1 多語(yǔ)言界面  591
18.1.1 多語(yǔ)言界面程序設(shè)計(jì)概述  591
18.1.2 多語(yǔ)言界面程序設(shè)計(jì)示例  593
18.2 Qt樣式表  597
18.2.1 QSS的作用  597
18.2.2 QSS的句法  598
18.2.3 樣式表的使用  603
18.3 Qt應(yīng)用程序的發(fā)布和安裝  605
18.3.1 Windows平臺(tái)上的Qt應(yīng)用程序發(fā)布  605
18.3.2 制作安裝文件  607
附錄 縮略詞  612

本目錄推薦

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