QML和Qt Quick快速入門

《QML和Qt Quick快速入門》是2023年北京航空航天大學出版社出版的圖書。

基本介紹

  • 中文名:QML和Qt Quick快速入門
  • 出版時間:2023年5月1日
  • 出版社:北京航空航天大學出版社
  • ISBN:9787512440739
內容簡介,圖書目錄,

內容簡介

本書是基於Qt 6.4的QML 和Qt Quick入門書籍,詳細介紹了QML 語言的語法和編寫Qt Quick程式需要用到的基本知識點。本書內容主要包括QML語法、Qt Quick基礎知識以及在圖形動畫、3D、數據處理、多媒體和移動開發方面的套用等。本書全面系統講解了Qt Quick編程的方方面面,與主要講解Qt Widgets編程的《Qt Creator快速入門(第4版)》相輔相成,可以幫助初學者快速入門Qt Quick編程。

圖書目錄

第1章 走進Qt Quick的世界 1
1.1 QML和Qt Quick簡介 1
1.1.1 QML 1
1.1.2 Qt Quick 2
1.1.3 Qt Quick和Qt Widgets用戶界面對比 3
1.2 Qt 6的下載安裝和Qt Creator開發環境簡介 4
1.2.1 Qt 6的下載與安裝 4
1.2.2 Qt Creator開發環境 5
1.3 運行示例程式 7
1.4 Qt Quick套用 8
1.4.1 創建Qt Quick套用 9
1.4.2 使用Qt資源檔案 12
1.4.3 設定應用程式圖示 15
1.4.4 Qt Quick程式的發布 15
1.5 創建Qt Quick UI項目 17
1.6 Qt幫助和本書源碼的使用 18
1.6.1 Qt幫助的使用 18
1.6.2 本書源碼的使用 20
1.7 小 結 20
第2章 QML語法 21
2.1 QML語法基礎 21
2.2 import導入語句 24
2.2.1 模組(命名空間)導入語句 24
2.2.2 目錄導入語句 25
2.2.3 JavaScript資源導入語句 27
2.3 QML類型系統 28
2.3.1 基本類型 28
2.3.2 JavaScript類型 30
2.3.3 對象類型 30
2.4 對象特性(Attributes) 30
2.4.1 id特性 31
2.4.2 屬性特性 31
2.4.3 信號和信號處理器特性 40
2.4.4 方法特性 44
2.4.5 附加屬性和附加信號處理器 46
2.4.6 枚舉特性 47
2.5 集成JavaScript 48
2.5.1 JavaScript表達式和屬性綁定 48
2.5.2 從JavaScript動態創建 QML對象 53
2.5.3 在QML中定義JavaScript資源 57
2.5.4 在QML中導入JavaScript資源 59
2.5.5 JavaScript宿主環境 62
2.6 QML文檔 64
2.6.1 通過QML文檔定義對象類型 64
2.6.2 QML組件 67
2.6.3 作用域和命名解析 69
2.6.4 資源載入和網路透明性 75
2.6.5 QML的國際化 76
2.6.6 QML的編碼約定 79
2.7 QML模組 82
2.8 小 結 83
第3章 Qt Quick基礎 84
3.1 基礎可視項目 85
3.1.1 Item 85
3.1.2 Rectangle 89
3.1.3 Text 89
3.1.4 TextInput 96
3.1.5 TextEdit 101
3.2 布局管理 102
3.2.1 定位器(Positioners) 102
3.2.2 基於錨(anchors)的布局 107
3.2.3 布局管理器(Layouts) 109
3.2.4 布局鏡像(LayoutMirroring) 112
3.3 事件處理 113
3.3.1 MouseArea 114
3.3.2 滑鼠事件(MouseEvent)和滾輪事件(WheelEvent) 115
3.3.3 拖放事件(DragEvent) 117
3.3.4 鍵盤事件(KeyEvent)和焦點作用域(FocusScope) 120
3.3.5 定時器(Timer) 126
3.4 使用Loader動態載入組件 126
3.4.1 Loader的大小與行為 127
3.4.2 從載入的項目中接收信號 127
3.4.3 焦點和鍵盤事件 128
3.5 小 結 129
第4章 Qt Quick控制項和Qt Quick對話框 130
4.1 Qt Quick控制項項目 131
4.1.1 視窗 Window 131
4.1.2 應用程式主視窗ApplicationWindow 133
4.1.3 控制項基類型Control 138
4.2 按鈕類控制項 139
4.2.1 AbstractButton、Button和RoundButton 139
4.2.2 CheckBox、RadioButton和ButtonGroup 141
4.2.3 DelayButton和Switch 143
4.3 容器類控制項 143
4.3.1 Pane、Frame和GroupBox 144
4.3.2 Page 145
4.3.3 ScrollView 147
4.3.4 Container、SwipeView和TabBar 147
4.3.5 SplitView 150
4.3.6 StackView 151
4.4 委託類控制項 153
4.4.1 ItemDelegate、CheckDelegate、RadioDelegate和
SwitchDelegate 153
4.4.2 SwipeDelegate 154
4.5 指示器類控制項 157
4.5.1 BusyIndicator 157
4.5.2 ProgressBar 158
4.6 輸入類控制項 158
4.6.1 ComboBox 158
4.6.2 Dial 159
4.6.3 RangeSlider和Slider 159
4.6.4 TextArea和TextField 160
4.6.5 Tumbler和SpinBox 160
4.7 選單類控制項 163
4.8 導航類控制項 164
4.9 彈出類控制項 165
4.10 分隔類控制項 167
4.11 日期類控制項 168
4.12 設定控制項樣式 170
4.12.1 使用控制項樣式 170
4.12.2 自定義控制項 172
4.13 Qt Quick Dialogs模組 173
4.13.1 顏色對話框ColorDialog 173
4.13.2 檔案對話框FileDialog 174
4.13.3 目錄對話框FolderDialog 176
4.13.4 字型對話框FontDialog 176
4.13.5 訊息對話框 MessageDialog 177
4.14 小 結 177
第5章 圖形動畫基礎 178
5.1 顏色、漸變和調色板 179
5.1.1 顏色color 179
5.1.2 漸變Gradient 181
5.1.3 系統調色板SystemPalette 181
5.2 圖片、邊界圖片和動態圖片 182
5.2.1 圖片Image 182
5.2.2 邊界圖片BorderImage 184
5.2.3 動態圖片 AnimatedImage 185
5.3 縮放、旋轉和平移變換 186
5.3.1 使用屬性實現簡單變換 186
5.3.2 使用Transform實現高級變換 187
5.4 狀態State 189
5.4.1 創建狀態 189
5.4.2 默認狀態和when屬性 191
5.5 動畫和過渡 192
5.5.1 使用屬性動畫 192
5.5.2 使用預定義的目標和屬性 193
5.5.3 在狀態改變時使用過渡 194
5.5.4 使用默認的行為動畫 195
5.5.5 使用並行或順序動畫組 196
5.5.6 使用動畫師動畫 197
5.5.7 控制動畫的執行 198
5.5.8 共享動畫實例 199
5.6 精靈動畫Sprite Animations 200
5.6.1 精靈引擎介紹 200
5.6.2 AnimatedSprite 203
5.7 Flickable和Flipable 204
5.7.1 彈動效果Flickable 204
5.7.2 翻轉效果Flipable 207
5.8 小 結 208
第6章 粒子系統和圖形效果 209
6.1 粒子系統 209
6.1.1 ParticleSystem 209
6.1.2 發射器Emitter 211
6.1.3 渲染器ParticlePainters 212
6.1.4 TrailEmitter 214
6.1.5 粒子組 216
6.1.6 隨機參數 217
6.1.7 影響器Affector 218
6.2 圖形效果 223
6.2.1 混合效果 223
6.2.2 顏色效果 226
6.2.3 漸變效果 229
6.2.4 變形效果 231
6.2.5 陰影效果 231
6.2.6 模糊效果 233
6.2.7 動感模糊效果 236
6.2.8 發光效果 237
6.2.9 遮罩效果 239
6.3 小 結 240
第7章 Qt Quick 3D 241
7.1 創建一個Qt Quick 3D項目 242
7.2 場 景 244
7.2.1 場景坐標 244
7.2.2 場景環境 246
7.2.3 基於圖像的照明和天空盒 248
7.2.4 Qt Quick 3D場景效果 250
7.3 相 機 250
7.3.1 透視相機 251
7.3.2 正交相機 253
7.4 光源和陰影 253
7.4.1 平行光源 254
7.4.2 點光源 254
7.4.3 聚光燈光源 255
7.5 網 格 256
7.5.1 內置格線 256
7.5.2 使用Balsam工具轉換格線檔案 257
7.6 材質和紋理 259
7.6.1 DefaultMaterial 259
7.6.2 PrincipledMaterial 260
7.6.3 SpecularGlossyMaterial 261
7.6.4 紋理貼圖 261
7.7 在3D場景中添加2D內容 263
7.8 實例化渲染 265
7.9 3D粒子系統 268
7.10 Qt Quick 3D物理模擬 269
7.11 小 結 274
第8章 模型和視圖 275
8.1 模型/視圖架構簡介 275
8.2 數據模型 277
8.2.1 整數作為模型 277
8.2.2 ListModel 278
8.2.3 XmlListModel 280
8.2.4 ObjectModel 282
8.2.5 DelegateModel 283
8.2.6 Package 285
8.2.7 TableModel 286
8.2.8 在委託中使用必需屬性來匹配模型角色 288
8.2.9 使用C++擴展 QML模型 289
8.2.10 LocalStorage 293
8.2.11 WorkerScript 297
8.3 視圖類型 298
8.3.1 ListView 298
8.3.2 GridView 304
8.3.3 視圖過渡 305
8.3.4 TableView和TreeView 308
8.3.5 PathView 312
8.4 委託選擇器DelegateChooser 315
8.5 小 結 317
第9章 Qt圖表 318
9.1 創建一個圖表項目 319
9.2 坐標軸Axes 320
9.2.1 數值坐標軸和對數數值坐標軸 321
9.2.2 分類坐標軸 322
9.2.3 柱形圖分類坐標軸 322
9.2.4 日期時間坐標軸 323
9.2.5 坐標軸的共有屬性 324
9.3 圖例Legend 325
9.4 ChartView 326
9.4.1 設定主題 327
9.4.2 啟用動畫 328
9.5 使用數據動態創建圖表 328
9.6 常用圖表類型 331
9.6.1 折線圖、曲線圖和散點圖 331
9.6.2 面積圖 332
9.6.3 柱形圖、堆積柱形圖、百分比堆積柱形圖 333
9.6.4 餅狀圖 334
9.6.5 盒須圖(箱形圖) 335
9.6.6 蠟燭圖(K線圖) 336
9.6.7 極坐標圖 337
9.7 小 結 338
第10章 Qt Data Visualization數據可視化 339
10.1 3D柱形圖 'A1?339
10.1.1 3D坐標軸 341
10.1.2 數據代理 343
10.1.3 3D系列 345
10.2 自定義3D場景 346
10.3 設定主題 346
10.4 選擇模式和切片視圖 349
10.5 3D散點圖 350
10.6 3D曲面圖 352
10.7 小 結 355
第11章 多媒體套用 356
11.1 播放音頻 357
11.1.1 播放壓縮音頻 357
11.1.2 播放未壓縮音頻 359
11.2 播放視頻 360
11.2.1 使用 MediaPlayer播放視頻檔案 360
11.2.2 對視頻使用圖形效果 361
11.3 媒體捕獲 363
11.3.1 CaptureSession和 MediaDevices 363
11.3.2 相機Camera 363
11.3.3 使用ImageCapture進行拍照 364
11.3.4 使用 MediaRecorder進行音視頻錄製 365
11.4 小 結 367
第12章 QML與C++的集成 368
12.1 QML運行時的C++類 369
12.1.1 QQmlEngine、QQmlApplicationEngine和QQuickView 369
12.1.2 QQmlContext 370
12.1.3 QQmlComponent 372
12.1.4 QQmlExpression 373
12.2 在 QML類型系統中註冊C++類型 374
12.2.1 不再推薦使用的qmlRegisterType()相關函式 374
12.2.2 基於宏的註冊方式 375
12.2.3 註冊值類型 378
12.2.4 註冊不可實例化的對象類型 379
12.2.5 註冊單例類型 379
12.2.6 類型的修訂和版本 380
12.3 定義QML特定類型和屬性 381
12.3.1 提供附加屬性 381
12.3.2 屬性修飾符類型 383
12.3.3 指定QML對象類型的默認屬性和父級屬性 386
12.3.4 接收對象初始化通知 387
12.3.5 使用Qt Quick 模組定義可視化項目 388
12.4 在 QML中使用C++特性 388
12.4.1 數據類型處理和擁有權 388
12.4.2 數據類型的轉換 388
12.4.3 使用C++屬性 393
12.4.4 使用函式和槽 397
12.4.5 使用信號 398
12.5 在C++中使用QML對象 399
12.5.1 使用C++載入 QML對象 399
12.5.2 使用對象名字訪問載入的QML對象 401
12.5.3 使用C++訪問 QML對象成員 401
12.6 小 結 405
第13章 Qt移動開發入門 406
13.1 Qt Android開發配置 406
13.1.1 工具軟體的下載和安裝 406
13.1.2 使用手機運行Qt Android程式 408
13.2 創建演示程式 411
13.2.1 創建套用主視窗 411
13.2.2 拍照功能 416
13.2.3 多點觸控 8230 _3418
13.2.4 感測器 419
13.3 發布項目 421
13.4 小 結 423
參考文獻 424__
check!

熱門詞條

聯絡我們