內容簡介
本書是基於Qt Creator集成開發環境的入門書籍,講解了經典的桌面端C++ Widgets編程和Qt Creator開發環境的使用。本書內容主要包括Qt的基本套用,以及Qt在圖形動畫、影音媒體、數據處理和網路通信方面的套用內容。與第3版相比,本書使用Qt 6.2.3和Qt Creator 6.0.2進行了全書修訂,主要添加了第18章Qt圖表和數據可視化內容,重寫了第7章正則表達式部分和第13、14章多媒體套用的大部分內容。
圖書目錄
第1篇基本套用篇
第1章Qt Creator簡介2
1.1軟體的下載與安裝2
1.2Qt Creator環境介紹3
1.2.1運行一個示例程式6
1.2.2幫助模式8
1.3Qt工具簡介10
1.3.1Qt Assistant(Qt助手)10
1.3.2Qt Designer(Qt設計師)10
1.3.3Qt Linguist(Qt語言家)11
1.4關於本書源碼的使用11
1.5小結11
第2章Hello World1
2.1編寫Hello World程式13
2.1.1新建Qt Widgets套用13
2.1.2檔案說明與界面設計15
2.2程式的運行與發布17
2.2.1程式的運行17
2.2.2程式的發布2
2.2.3設定應用程式圖示21
2.3項目模式和項目檔案介紹22
2.3.1項目模式22
2.3.2項目檔案22
2.4helloworld程式源碼與編譯過程詳解23
2.4.1在Qt Creator中使用純代碼編寫並編譯運行程式24
2.4.2使用其他編輯器純代碼編寫程式並在命令行編譯運行程式27
2.4.3使用.ui檔案來生成界面30
2.4.4自定義C++ 視窗類33
2.4.5使用現成的Qt設計師界面類36
2.5小結37
第3章視窗部件38
3.1基礎視窗部件QWidget38
3.1.1視窗、子部件以及視窗類型39
3.1.2視窗幾何布局41
3.1.3程式調試42
3.2對話框QDialog45
3.2.1模態和非模態對話框45
3.2.2初識信號和槽並實現多視窗切換47
3.2.3標準對話框51
3.3其他視窗部件57
3.3.1QFrame類族57
3.3.2按鈕部件60
3.3.3QLineEdit62
3.3.4QAbstractSpinBox64
3.3.5QAbstractSlider65
3.4小結66
第4章布局管理67
4.1布局管理系統67
4.1.1布局管理器簡介68
4.1.2基本布局管理器68
4.1.3柵格布局管理器69
4.1.4窗體布局管理器70
4.1.5綜合使用布局管理器70
4.1.6設定部件大小71
4.1.7可擴展視窗74
4.1.8拆分器74
4.2設定夥伴75
4.3設定Tab鍵順序75
4.4Qt Creator中的定位器76
4.5小結77
第5章應用程式主視窗78
5.1主視窗框架78
5.1.1Qt資源系統、選單欄和工具列79
5.1.2中心部件84
5.1.3Dock部件85
5.1.4狀態欄85
5.1.5自定義選單86
5.2富文本處理89
5.2.1富文本文檔結構89
5.2.2文本塊90
5.2.3表格、列表與圖片93
5.2.4查找功能94
5.2.5語法高亮與HTML96
5.3拖放操作97
5.3.1使用拖放打開檔案98
5.3.2自定義拖放操作99
5.4列印文檔102
5.5小結104
第6章事件系統105
6.1Qt中的事件105
6.1.1事件的處理106
6.1.2事件的傳遞106
6.2滑鼠事件和滾輪事件109
6.3鍵盤事件112
6.4定時器事件與隨機數115
6.5事件過濾器與事件的傳送117
6.6小結119
第7章Qt對象模型與容器類120
7.1對象模型120
7.2信號和槽121
7.2.1信號和槽概述121
7.2.2信號和槽典型套用示例122
7.2.3信號和槽的關聯123
7.2.4信號和槽的自動關聯126
7.2.5信號和槽斷開關聯127
7.2.6信號和槽的高級套用128
7.3屬性系統128
7.4對象樹與擁有權131
7.5元對象系統134
7.6容器類135
7.6.1Qt的容器類135
7.6.2遍歷容器139
7.6.3常用的STL算法145
7.6.4QString147
7.6.5QByteArray和QVariant151
7.6.6隱式共享153
7.7正則表達式154
7.7.1正則表達式語法簡介155
7.7.2正常匹配和文本捕獲161
7.7.3全局匹配163
7.7.4部分匹配164
7.7.5通配符匹配167
7.8小結168
第8章界面外觀169
8.1Qt風格169
8.2Qt調色板170
8.3Qt樣式表172
8.3.1使用代碼設定樣式表172
8.3.2在設計模式中設定樣式表173
8.4Qt樣式表語法174
8.5自定義部件外觀與換膚176
8.5.1盒子模型176
8.5.2自定義部件外觀177
8.5.3實現換膚功能178
8.6特殊效果窗體179
8.6.1不規則窗體179
8.6.2透明窗體181
8.7小結183
第9章國際化、幫助系統和Qt外掛程式184
9.1國際化184
9.1.1使用Qt Linguist翻譯應用程式184
9.1.2使用Qt Creator自動生成翻譯檔案189
9.1.3程式翻譯中的相關問題190
9.2幫助系統192
9.2.1簡單的幫助提示192
9.2.2定製Qt Assistant193
9.3創建Qt外掛程式200
9.3.1在設計模式提升視窗部件200
9.3.2創建應用程式外掛程式201
9.3.3創建Qt Designer自定義部件205
9.4小結206
第2篇圖形動畫篇
第10章2D繪圖208
10.1基本圖形的繪製和填充208
10.1.1繪製圖形208
10.1.2使用畫筆210
10.1.3使用畫刷211
10.2漸變填充214
10.3坐標系統216
10.3.1抗鋸齒渲染216
10.3.2坐標變換219
10.4繪製文字225
10.5繪製路徑226
10.5.1組成一個路徑226
10.5.2填充規則227
10.6繪製圖像229
10.6.1QImage230
10.6.2QPixmap231
10.6.3QPicture233
10.7複合模式234
10.8雙緩衝繪圖235
10.9繪圖中的其他問題237
10.10小結239
第11章圖形視圖、動畫和狀態機框架240
11.1圖形視圖框架的結構240
11.1.1場景241
11.1.2視圖242
11.1.3圖形項243
11.2圖形視圖框架的坐標系統和事件處理245
11.2.1坐標系統245
11.2.2事件處理與傳播250
11.3圖形視圖框架的其他特性255
11.3.1圖形效果255
11.3.2動畫、碰撞檢測和圖形項組256
11.3.3列印和使用OpenGL進行渲染259
11.3.4圖形部件、布局和內嵌部件260
11.4動畫框架261
11.4.1實現屬性動畫262
11.4.2使用緩和曲線263
11.4.3動畫組264
16.6在項目視圖中啟用拖放352
16.6.1在便捷類中啟用拖放352
16.6.2在模型/視圖類中啟用拖放353
16.7其他內容356
16.7.1代理模型356
16.7.2數據視窗映射器357
16.8小結358
第17章資料庫和XML359
17.1資料庫簡介359
17.2連線資料庫360
17.2.1SQL資料庫驅動360
17.2.2創建資料庫連線361
17.3執行SQL語句364
17.4使用SQL模型類368
17.4.1SQL查詢模型368
17.4.2SQL表格模型370
17.4.3SQL關係表格模型373
17.5XML374
17.5.1使用DOM讀取XML文檔374
17.5.2使用DOM創建和操作XML文檔377
17.5.3XML流382
17.6小結385
第18章Qt圖表和數據可視化386
18.1Qt圖表(Qt Charts)386
18.1.1Qt圖表示例386
18.1.2坐標軸390
18.1.3使用外部數據動態創建圖表394
18.2Qt數據可視化397
18.2.13D柱形圖示例398
18.2.2項目模型和數據映射403
18.2.33D散點圖和3D曲面圖示例405
18.3小結406
第5篇網路通信篇
第19章網路編程408
19.1網路訪問API408
19.1.1網路訪問API相關類408
19.1.2HTTP通信程式示例409
19.2獲取網路接口信息412
19.2.1QHostInfo進行主機名查找412
19.2.2QNetworkInterface獲取本機網路接口信息414
19.2.3QDnsLookup進行DNS查詢415
19.3UDP416
19.3.1UDP簡介416
19.3.2UDP廣播程式示例416
19.4TCP418
19.4.1TCP簡介418
19.4.2TCP傳輸字元串示例419
19.4.3TCP傳輸檔案示例423
19.5小結430
第20章進程和執行緒431
20.1進程431
20.1.1運行一個進程431
20.1.2進程間通信434
20.2執行緒437
20.2.1使用QThread啟動執行緒438
20.2.2同步執行緒442
20.2.3可重入與執行緒安全445
20.2.4執行緒和QObject447
20.3小結449
第21章Qt WebEngine450
21.1Qt WebEngine架構450
21.2基於Qt WebEngine Widgets的網頁瀏覽器451
21.2.1顯示一個網頁452
21.2.2網站圖示和網頁縮放454
21.2.3顯示歷史記錄456
21.2.4查找功能和多視窗顯示457
21.3小結459
附錄A安裝MSVC版本Qt460
A.1安裝MSVC版本Qt460
A.2下載並安裝VS 2019461
A.3使用新套件構建程式461
附錄BQt Creator鍵盤快捷鍵速查463
參考文獻466