Qt 5.9 C++ 開發指南 Qt 5.9 C++开发指南
王維波 慄寶鵑 侯春望
- 出版商: 人民郵電
- 出版日期: 2018-05-01
- 定價: $599
- 售價: 5.0 折 $300
- 語言: 簡體中文
- 頁數: 459
- 裝訂: 平裝
- ISBN: 7115478686
- ISBN-13: 9787115478689
-
相關分類:
C++ 程式語言、Qt
-
其他版本:
Qt 6 C++ 開發指南
買這商品的人也買了...
-
$780$616 -
$480$379 -
$505Qt5 開發實戰
-
$230Qt 圖形界面編程入門 (Qt GUI programming for beginner)
-
$790$616 -
$237Qt 應用編程系列叢書 : Qt Creator 快速入門, 3/e
-
$87Qt 平臺體係與應用 : Qt5.5 + 核心方法、技巧與案例
-
$505Qt5 開發及實例, 3/e
-
$403OpenCV 算法精解:基於 Python 與 C++
-
$500$390 -
$352ROS 機器人高效編程, 3/e (Effective Robotics Programming with ROS, 3/e)
-
$500ROS 進階實例
-
$352ROS 機器人程序設計, 2/e (Learning ROS for Robotics Programming, 2/e)
-
$245嵌入式 Linux 系統開發入門
-
$199C++ Qt 程序設計工程實訓教程
-
$290$261 -
$658Qt5 開發及實例, 4/e
-
$505精通 ROS 機器人編程, 2/e (Mastering ROS for Robotics Programming, 2/e)
-
$1,194$1,134 -
$780$616 -
$600$468 -
$505ROS 機器人編程實戰 (Robot Operating System Cookbook: Over 70 recipes to help you master advanced ROS concepts)
-
$550$429 -
$454打磨機器人控制技術
-
$607Qt 5.12 實戰
相關主題
商品描述
本書以Qt 5.9 LTS版本為開發平臺,詳細介紹了Qt C++開發應用程序的技術,包括Qt應用程序的基本架構、信號與槽工作機制、圖形顯示的Graphics/View架構、數據編輯和顯示的Model/View架構、對話框和多窗口的設計與調用方法等,介紹了常用界面組件、文件讀寫、繪圖、圖表、數據可視化、數據庫、多線程、網絡和多媒體等模塊的使用。每個編程主題都精心設計了完整的實例程序。
通過閱讀本書,可瞭解Qt C++開發應用程序所需的基本技術。本書適合具有C++語言編程基礎,希望應用Qt C++開發跨平臺應用程序的讀者閱讀。
作者簡介
王維波,博士,主要從事地球物理探測儀器設計、數據處理方法研究和軟件開發等工作,精通軟硬件設計與開發。在實際研究和開發工作中發現Qt之利、Qt之美,與讀者分享Qt開發經驗。
栗寶鵑,博士,主要從事地球物理數據處理和成像的研究,在研究工作中將Qt用於專業軟件的開發,精通Qt學習之道、應用之道。
侯春望,碩士,主要從事單片機系統和應用軟件的教學和研究工作,精通Qt C++編程,曾開發多個專業應用軟件
目錄大綱
第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