Qt 5 編程入門, 2/e

霍亞飛;程梁

  • 出版商: 北京航空航天大學
  • 出版日期: 2019-10-01
  • 售價: $630
  • 貴賓價: 9.5$599
  • 語言: 簡體中文
  • ISBN: 7512431112
  • ISBN-13: 9787512431119
  • 相關分類: Qt

立即出貨

買這商品的人也買了...

相關主題

商品描述

本書是基於Qt 5.12的QML和Qt Quick入門書籍,詳細介紹了QML語言的語法和編寫Qt Quick程序需要用到的基本知識點。本書內容主要包括Qt 5的介紹、QML語法、Qt Quick基礎知識以及在圖形動畫、數據處理、多媒體和移動開發方面的應用等。與第1版相比,本書使用Qt 5.12.0和Qt Creator 4.8.0進行了全書修訂,主要添加了圖表、3D可視化、移動開發等章節;對其他章節內容進行了大量更新,重寫了Qt Quick控件、設計器、與C++進行集成等章節,從而幫助初學者快速入門Qt Quick編程。

目錄大綱

第1章走進Qt Quick的世界1

1.1全新的QML和Qt Quick1

1.1.1歷史變遷1

1.1.2QML2

1.1.3Qt Quick2

1.1.4Qt QML和Qt Quick框架3

1.2Qt Quick項目4

1.2.1Qt 5的下載與安裝4

1.2.2創建Qt Quick應用6

1.2.3創建Qt Quick UI項目11

1.2.4運行示例程序13

1.2.5Qt Quick程序的發佈14

1.3小結16

第2章QML語法17

2.1QML語法基礎17

2.2import導入語句20

2.2.1模塊(命名空間)導入語句20

2.2.2目錄導入語句21

2.2.3JavaScript資源導入語句23

2.3QML類型系統24

2.3.1基本類型24

2.3.2JavaScript類型26

2.3.3對象類型26

2.4對象特性26

2.4.1id特性27

2.4.2屬性特性28

2.4.3信號和信號處理器特性36

2.4.4方法特性40

2.4.5附加屬性和附加信號處理器41

2.4.6枚舉43

2.5集成JavaScript43

2.5.1JavaScript表達式43

2.5.2從JavaScript動態創建QML對象49

2.5.3在QML中定義JavaScript資源53

2.5.4在QML中導入JavaScript資源56

2.5.5JavaScript宿主環境58

2.6QML文檔59

2.6.1通過QML文檔定義對象類型60

2.6.2QML組件62

2.6.3作用域和命名解析64

2.6.4資源加載和網絡透明性70

2.6.5QML的國際化71

2.6.6QML的編碼約定75

2.7QML模塊78

2.7.1定義一個QML模塊78

2.7.2支持的QML模塊類型79

2.8小結79

第3章Qt Quick基礎80

3.1基礎可視項目81

3.1.1Item81

3.1.2Rectangle85

3.1.3Text85

3.1.4TextInput92

3.1.5TextEdit97

3.2佈局管理99

3.2.1定位器99

3.2.2基於錨的佈局103

3.2.3Layouts106

3.3事件處理110

3.3.1MouseArea110

3.3.2鼠標事件和滾輪事件112

3.3.3拖放事件114

3.3.4鍵盤事件和焦點作用域117

3.3.5定時器123

3.4使用Loader動態加載組件124

3.4.1Loader的大小與行為124

3.4.2從加載的項目中接收信號125

3.4.3焦點和鍵盤事件126

3.5小結127

第4章Qt Quick控件128

4.1Qt Quick控件基礎129

4.2按鈕類控件139

4.2.1AbstractButton139

4.2.2Button141

4.2.3CheckBox142

4.2.4RadioButton144

4.2.5ButtonGroup145

4.2.6RoundButton146

4.2.7Switch147

4.2.8DelayButton148

4.2.9Action和ActionGroup149

4.3指示類控件151

4.3.1Label151

4.3.2ProgressBar151

4.3.3BusyIndicator152

4.3.4PageIndicator153

4.4輸入類控件154

4.4.1TextField154

4.4.2TextArea155

4.4.3ComboBox156

4.4.4SpinBox159

4.4.5Dial162

4.4.6Slider163

4.4.7RangeSlider165

4.4.8Tumbler166

4.5菜單類控件167

4.5.1Menu167

4.5.2MenuBar171

4.6容器類控件173

4.6.1Pane173

4.6.2Frame174

4.6.3GroupBox174

4.6.4Page175

4.6.5ScrollView176

4.6.6ScrollBar和ScrollIndicator178

4.6.7StackView180

4.6.8TabBar185

4.6.9ToolBar187

4.6.10SwipeView188

4.7彈出類控件190

4.7.1Overlay190

4.7.2Popup191

4.7.3Dialog194

4.7.4ToolTip195

4.7.5Drawer196

4.8標準對話框197

4.8.1ColorDialog197

4.8.2FileDialog198

4.8.3FontDialog199

4.8.4MessageDialog200

4.9Qt Quick Controls 2配置文件202

4.10共享業務邏輯代碼202

4.10.1圖片查看器203

4.10.2文件選擇器207

4.10.3重構圖片選擇器207

4.11小結212

第5章圖形動畫基礎213

5.1顏色、漸變和調色板213

5.1.1顏色213

5.1.2漸變216

5.1.3系統調色板216

5.2圖片、邊界圖片和動態圖片217

5.2.1圖片217

5.2.2邊界圖片219

5.2.3動態圖片221

5.3縮放、旋轉和平移變換221

5.3.1使用屬性實現簡單變換221

5.3.2使用Transform實現高級變換223

5.4狀態224

5.4.1創建狀態225

5.4.2默認狀態和when屬性226

5.5動畫和過渡227

5.5.1使用屬性動畫227

5.5.2使用預定義的目標和屬性229

5.5.3在狀態改變時使用過渡230

5.5.4使用默認的行為動畫231

5.5.5使用並行或順序動畫組232

5.5.6使用動畫師動畫233

5.5.7控制動畫的執行234

5.5.8共享動畫實例235

5.6精靈動畫236

5.6.1精靈引擎介紹236

5.6.2AnimatedSprite240

5.7Flickable和Flipable241

5.7.1彈動效果241

5.7.2翻轉效果243

5.8小結244

第6章圖形效果245

6.1混合效果245

6.2顏色效果248

6.3漸變效果251

6.3.1錐形漸變251

6.3.2線性漸變252

6.3.3輻射漸變253

6.4變形效果254

6.5陰影效果255

6.5.1投影255

6.5.2內陰影256

6.6模糊效果257

6.6.1快速模糊257

6.6.2高斯模糊258

6.6.3遞歸模糊259

6.6.4遮罩模糊260

6.7動感模糊效果261

6.7.1方向模糊261

6.7.2徑向模糊262

6.7.3縮放模糊263

6.8發光效果263

6.8.1發光263

6.8.2矩形發光264

6.9遮罩效果266

6.9.1不透明遮罩266

6.9.2閾值遮罩267

6.10小結268

第7章粒子系統269

7.1ParticleSystem269

7.2發射器271

7.3渲染器272

7.4TrailEmitter275

7.5粒子組276

7.6隨機參數278

7.7影響器279

7.7.1Age279

7.7.2Attractor280

7.7.3Friction281

7.7.4Gravity281

7.7.5Turbulence282

7.7.6Wander282

7.7.7GroupGoal282

7.7.8SpriteGoal283

7.8小結284

第8章Canvas 2D285

8.1Canvas的使用285

8.2繪製操作287

8.2.1繪製參數設置288

8.2.2繪製矩形290

8.2.3狀態的保存與恢復291

8.2.4繪製文本293

8.2.5繪製路徑294

8.3漸變填充299

8.3.1線性漸變299

8.3.2輻射漸變300

8.3.3錐型漸變301

8.4陰影301

8.5使用圖像302

8.6坐標變換304

8.6.1平移305

8.6.2縮放305

8.6.3旋轉306

8.6.4斜切307

8.6.5transform()函數總結308

8.7小結309

第9章模型和視圖310

9.1模型/視圖架構簡介310

9.2數據模型312

9.2.1整數作為模型312

9.2.2ListModel313

9.2.3WorkerScript315

9.2.4ObjectModel316

9.2.5DelegateModel317

9.2.6Package319

9.2.7XmlListModel320

9.2.8LocalStorage322

9.2.9使用C++擴展QML模型326

9.3視圖類型330

9.3.1ListView330

9.3.2GridView336

9.3.3視圖過渡338

9.3.4PathView341

9.4調整性能344

9.5小結345

第10章Qt圖表346

10.1創建一個圖表項目347

10.2坐標軸Axes348

10.2.1數值坐標軸和對數數值坐標軸349

10.2.2分類坐標軸350

10.2.3柱形圖分類坐標軸351

10.2.4日期時間坐標軸352

10.2.5坐標軸的共有屬性354

10.3圖例Legend354

10.4ChartView356

10.4.1設置主題357

10.4.2啟用動畫358

10.5使用外部數據動態創建圖表359

10.6常用圖表類型362

10.6.1折線圖、曲線圖和散點圖362

10.6.2面積圖364

10.6.3柱形圖、堆積柱形圖、百分比堆積柱形圖365

10.6.4餅狀圖366

10.6.5盒須圖(箱形圖)367

10.6.6蠟燭圖(K線圖)368

10.6.7極坐標圖369

10.7小結371

第11章Qt Data Visualization數據可視化372

11.13D柱形圖372

11.1.13D坐標軸375

11.1.2數據代理377

11.1.33D系列380

11.2自定義3D場景381

11.3設置主題382

11.4選擇模式和切片視圖385

11.53D散點圖387

11.63D曲面圖389

11.7小結391

第12章多媒體應用392

12.1多媒體模塊介紹392

12.2播放音頻393

12.2.1播放壓縮音頻393

12.2.2播放未壓縮音頻395

12.3播放視頻396

12.3.1使用Video播放視頻文件396

12.3.2對視頻使用圖形效果397

12.4媒體播放器399

12.4.1播放音視頻399

12.4.2使用Windows平臺附加功能400

12.5小結406

第13章QML與C++的集成407

13.1快速選擇正確的集成方式408

13.2QML運行時的C++類411

13.2.1QQmlEngine411

13.2.2QQmlContext412

13.2.3QQmlComponent414

13.2.4QQmlExpression415

13.3在QML中使用C++特性416

13.3.1數據類型處理和擁有權416

13.3.2數據類型的轉換416

13.3.3使用C++屬性419

13.3.4使用函數和槽423

13.3.5使用信號425

13.4註冊QML類型426

13.4.1註冊可實例化對象類型426

13.4.2註冊不可實例化對象類型427

13.4.3註冊單例類型427

13.4.4類型的修訂和版本428

13.5定義QML特定類型和屬性429

13.5.1提供附加對象注解數據429

13.5.2屬性修飾符類型432

13.5.3指定QML對象類型的默認屬性434

13.5.4接收對象初始化通知435

13.6在C++中使用QML對象436

13.6.1使用C++加載QML對象436

13.6.2使用對象名字訪問加載的QML對象438

13.6.3使用C++訪問QML對象成員439

13.7小結442

第14章使用Qt Quick設計器443

14.1Qt Quick UI表單文件444

14.2常用操作448

14.2.1管理項目層次448

14.2.2QML類型庫449

14.2.3指定項目屬性449

14.2.4添加狀態452

14.2.5在畫布上操作QML類型452

14.3使用設計器編輯QML文檔457

14.3.1創建項目457

14.3.2創建主視圖458

14.3.3添加視圖461

14.3.4為視圖添加動畫462

14.4小結464

第15章Qt移動開發入門465

15.1Qt Android開發配置465

15.1.1工具軟件的下載465

15.1.2工具軟件的安裝466

15.1.3使用虛擬機運行Qt Android程序468

15.1.4使用手機運行Qt Android程序471

15.1.5發佈項目472

15.2Qt iOS開發配置476

15.2.1使用模擬器運行Qt iOS程序477

15.2.2使用手機運行Qt iOS程序478

15.3創建演示程序481

15.3.1創建應用主窗口481

15.3.2拍照功能486

15.3.3多點觸控488

15.3.4傳感器489

15.3.5地圖491

15.3.6藍牙493

15.4小結496

參考文獻497