Qt5開發及實例(第3版)

《Qt5開發及實例(第3版)》是2017年電子工業出版社出版的圖書,作者是陸文周。

基本信息

Qt5開發及實例(第3版)

作 譯 者:陸文周

出版時間:2017-06

千 字 數:1184

版 次:01-01

頁 數:740

開 本:16開

I S B N :9787121316982

內容簡介

Qt是軟體開發領域非常著名的C++可視化開發平台,目前最新版本為Qt 5.8。本書以Qt 5.8為平台,介紹Qt環境、模板庫工具類及控制項、布局管理、基本對話框、主視窗、圖形與圖片、圖形視圖框架、模型/視圖結構、檔案及磁碟處理、網路與通信、事件處理及實例、多執行緒、資料庫、多國語言國際化、單元測試框架、QML編程基礎、QML動畫特效、Qt Quick Controls開發基礎和Qt Quick Controls 2新穎界面開發。每個章節在簡單介紹開發環境的基礎上,用一個小實例介紹Qt 5應用程式開發的各個方面,然後系統介紹Qt應用程式開發技術,通過實例介紹來理解內容。最後利用綜合實例套用Qt 主要內容。綜合實例包括汽車銷售管理系統、Qt版Word字處理軟體、Qt版聊天軟體和多功能文檔查看器。本書在保持前面版本特點的基礎上,重新整編原有內容,重新構建和調試所有實例,同時將Qt 5.5和Qt 5.8新組件和功能融入其中,同步配套相應的實例,對新增加的Qt Quick Controls 2專門增加一章進行介紹。通過幾個大綜合實例套用Qt主要內容。

目錄信息

第1章 Qt概述 1

1.1 什麼是Qt 1

1.2 Qt 5的安裝 2

1.2.1 下載安裝Qt 5 2

1.2.2 運行Qt 5 Creator 5

1.2.3 Qt 5開發環境 6

1.3 Qt 5開發步驟及實例 8

1.3.1 設計器Qt 5 Designer實現 8

1.3.2 代碼實現簡單實例 15

L1.2 Qt 5安裝:概念解析 18

夥伴編輯模式(Edit Buddies) 18

L1.3 Qt 5開發步驟及實例:概念解析 19

L1 信號和槽機制(Signal & Slot) 19

L2 Qt 5元對象系統 21

L3 布局管理器 21

第2章 Qt 5模板庫、工具類及控制項 22

2.1 字元串類 22

2.1.1 操作字元串 22

2.1.2 查詢字元串數據 24

2.1.3 字元串的轉換 24

2.2 容器類 26

2.2.1 QList類、QLinkedList類和QVector類 26

2.2.2 QMap類和QHash類 32

2.3 QVariant類 35

2.4 算法及正則表達式 37

2.4.1 Qt 5常用算法 37

2.4.2 基本的正則表達式 38

2.5 控制項 39

2.5.1 按鈕組(Buttons) 40

2.5.2 輸入部件組(Input Widgets) 41

2.5.3 顯示控制項組(Display Widgets) 43

2.5.4 空間間隔組(Spacers) 44

2.5.5 布局管理組(Layouts) 44

2.5.6 容器組(Containers) 44

2.5.7 項目視圖組(Item Views) 47

2.5.8 項目控制項組(Item Widgets) 49

2.5.9 小綜合例子 53

L2.1 字元串類QString:概念解析 56

L1 隱式共享 56

L2 記憶體分配策略 58

L2.5 Qt 5控制項:概念解析 58

Qt::WindowFlags枚舉類型 58

第3章 Qt 5布局管理 61

3.1 分割視窗QSplitter類 61

3.2 停靠視窗QDockWidget類 63

3.3 堆疊窗體QStackedWidget類 66

3.4 基本布局(QLayout) 69

3.5 【綜合實例】:修改用戶資料 74

第4章 Qt 5基本對話框 86

4.1 標準檔案對話框類 90

4.1.1 函式說明 90

4.1.2 創建步驟 91

4.2 標準顏色對話框類 92

4.2.1 函式說明 92

4.2.2 創建步驟 92

4.3 標準字型對話框類 93

4.3.1 函式說明 93

4.3.2 創建步驟 94

4.4 標準輸入對話框類 94

4.4.1 標準字元串輸入對話框 98

4.4.2 標準條目選擇對話框 98

4.4.3 標準int類型輸入對話框 99

4.4.4 標準double類型輸入對話框 100

4.5 訊息對話框類 101

4.5.1 Question訊息框 104

4.5.2 Information訊息框 105

4.5.3 Warning訊息框 105

4.5.4 Critical訊息框 106

4.5.5 About訊息框 107

4.5.6 About Qt訊息框 107

4.6 自定義訊息框 108

4.7 工具盒類 109

4.8 進度條 114

4.9 調色板與電子鐘 118

4.9.1 QPalette類 118

4.9.2 QTime類 124

4.9.3 【綜合實例】:電子時鐘 125

4.10 可擴展對話框 128

4.11 不規則窗體 131

4.12 程式啟動畫面(QSplashScreen) 134

第5章 Qt 5主視窗 137

5.1 Qt 5主視窗構成 137

5.1.1 基本元素 137

5.1.2 【綜合實例】:文本編輯器 138

5.1.3 選單與工具列的實現 142

5.2 Qt 5檔案操作功能 147

5.2.1 新建檔案 147

5.2.2 打開檔案 148

5.2.3 列印檔案 150

5.3 Qt 5圖像坐標變換 153

5.3.1 縮放功能 153

5.3.2 旋轉功能 154

5.3.3 鏡像功能 156

5.4 Qt 5文本編輯功能 157

5.4.1 設定字型 160

5.4.2 設定字號 161

5.4.3 設定文字加粗 161

5.4.4 設定文字斜體 161

5.4.5 設定文字加下畫線 162

5.4.6 設定文字顏色 162

5.4.7 設定字元格式 163

5.5 Qt 5排版功能 163

5.5.1 實現段落對齊 164

5.5.2 實現文本排序 165

第6章 Qt 5圖形與圖片 169

6.1 Qt 5位置相關函式 169

6.1.1 區別概述 169

6.1.2 【實例】:位置函式的使用 170

6.2 Qt 5基礎圖形的繪製 174

6.2.1 繪圖框架設計 174

6.2.2 繪圖區的實現 175

6.2.3 主視窗的實現 180

6.3 Qt 5雙緩衝機制 193

6.3.1 原理與設計 193

6.3.2 繪圖區的實現 195

6.3.3 主視窗的實現 198

6.4 顯示Qt 5 SVG格式圖片 201

L6.4 Qt 5 SVG格式圖片顯示:概念解析 207

XML 207

第7章 Qt 5圖形視圖框架 209

7.1 圖形視圖體系結構 209

7.1.1 Graphics View的特點 209

7.1.2 Graphics View的三元素 209

7.1.3 GraphicsView的坐標系統 211

7.2 【實例】:圖形視圖 213

7.2.1 飛舞的蝴蝶 213

7.2.2 地圖瀏覽器 216

7.2.3 圖元創建 222

7.2.4 圖元的旋轉、縮放、切變和位移 232

第8章 Qt 5模型/視圖結構 239

8.1 概述 239

8.1.1 基本概念 240

8.1.2 【實例】:模型/視圖類使用 240

8.2 模型(Model) 242

8.3 視圖(View) 246

8.4 代理(Delegate) 259

第9章 Qt 5檔案及磁碟處理 268

9.1 讀寫文本檔案 268

9.1.1 QFile類讀寫文本 268

9.1.2 QTextStream類讀寫文本 270

9.2 讀寫二進制檔案 272

9.3 目錄操作與檔案系統 274

9.3.1 檔案大小及路徑獲取實例 274

9.3.2 檔案系統瀏覽 276

9.4 獲取檔案信息 280

9.5 監視檔案和目錄變化 284

第10章 Qt 5網路與通信 287

10.1 獲取本機網路信息 287

10.2 基於UDP的網路廣播程式 291

10.2.1 UDP協定工作原理 291

10.2.2 UDP 編程模型 291

10.2.3 【實例】:UDP伺服器編程 292

10.2.4 【實例】:UDP客戶端編程 294

10.3 基於TCP的網路聊天室程式 297

10.3.1 TCP協定工作原理 298

10.3.2 TCP編程模型 298

10.3.3 【實例】:TCP伺服器編程 299

10.3.4 【實例】:TCP客戶端編程 305

10.4 Qt網路套用開發初步 310

10.4.1 【實例】:簡單網頁瀏覽器 311

10.4.2 檔案下載實例 312

第11章 Qt 5事件處理及實例 316

11.1 滑鼠事件及實例 316

11.2 鍵盤事件及實例 319

11.3 事件過濾及實例 325

第12章 Qt 5多執行緒 331

12.1 多執行緒及簡單實例 331

12.2 多執行緒控制 335

12.2.1 互斥量 336

12.2.2 信號量 337

12.2.3 執行緒等待與喚醒 341

12.3 多執行緒套用 344

12.3.1 【實例】:伺服器編程 344

12.3.2 【實例】:客戶端編程 349

第13章 Qt 5資料庫 354

13.1 資料庫基本概念 354

13.2 常用SQL命令 357

13.2.1 數據查詢 357

13.2.2 數據操作 361

13.3 Qt運算元據庫及實例 362

13.3.1 Qt操作SQLite資料庫 363

13.3.2 Qt操作主/從視圖及XML 369

第14章 Qt 5多國語言國際化 400

14.1 基本概念 400

14.1.1 國際化支持的實現 400

14.1.2 翻譯工作:“*.qm”檔案的生成 401

14.2 【實例】:國際化測試 402

14.2.1 簡單測試 402

14.2.2 選擇語言翻譯文字 406

第15章 Qt 5單元測試框架 411

15.1 QTestLib框架 411

15.2 簡單的Qt單元測試 411

15.3 數據驅動測試 416

15.4 簡單性能測試 419

第16章 【綜合實例】:汽車銷售管理系統 421

16.1 功能介紹與界面設計 421

16.1.1 功能簡介 421

16.1.2 主界面設計 422

16.1.3 選單設計 423

16.2 實現品牌車管理功能 425

16.2.1 出售車輛 425

16.2.2 日銷售清單 431

16.3 銷售統計圖表功能 436

16.3.1 視圖設計 436

16.3.2 界面設計 440

16.4 添加登錄界面 443

第17章 【綜合實例】:Qt版Word字處理軟體 447

17.1 核心功能界面演示 447

17.2 界面設計與開發 448

17.2.1 建立MDI程式框架 449

17.2.2 選單系統設計 453

17.2.3 工具列設計 464

17.2.4 子視窗管理 468

17.2.5 界面生成試運行 475

17.3 基本編輯功能實現 479

17.3.1 打開檔案 479

17.3.2 保存檔案 482

17.3.3 文本操作 485

17.4 文檔排版美化功能實現 487

17.4.1 字型格式設定 487

17.4.2 段落對齊設定 490

17.4.3 顏色設定 491

17.4.4 段落標號、編號 492

17.4.5 文檔列印與預覽 495

第18章 【綜合實例】:Qt版聊天軟體 498

18.1 核心功能界面演示 498

18.2 界面設計與開發 499

18.2.1 創建“抽屜盒” 499

18.2.2 設計聊天視窗 504

18.2.3 將圖片按鈕與聊天視窗關聯 506

18.3 基本聊天會話功能實現 511

18.3.1 基本原理 511

18.3.2 訊息類型與UDP廣播 512

18.3.3 會話過程的處理 516

18.3.4 聊天程式試運行 518

18.4 檔案傳輸功能實現 519

18.4.1 需求方案 519

18.4.2 伺服器開發 520

18.4.3 客戶端開發 526

18.4.4 主界面的控制 531

18.4.5 檔案傳輸試驗 534

18.5 附加功能實現 535

18.5.1 更改字型、字號和顏色 535

18.5.2 字型切換 537

18.5.3 保存和清除聊天記錄 538

第19章 QML編程基礎 540

19.1 QML概述 540

19.1.1 第一個QML程式 540

19.1.2 QML文檔構成 543

19.1.3 QML基本語法 544

19.2 QML可視元素 547

19.2.1 Rectangle(矩形)元素 547

19.2.2 Image(圖像)元素 549

19.2.3 Text(文本)元素 550

19.2.4 自定義元素(組件) 552

19.3 QML元素布局 555

19.3.1 Positioner(定位器) 555

19.3.2 Anchor(錨) 559

19.4 QML事件處理 564

19.4.1 滑鼠事件 564

19.4.2 鍵盤事件 566

19.4.3 輸入控制項與焦點 569

19.5 QML集成JavaScript 571

19.5.1 調用JavaScript函式 571

19.5.2 導入JS檔案 573

第20章 QML動畫特效 576

20.1 QML動畫元素 576

20.1.1 PropertyAnimation元素 576

20.1.2 其他動畫元素 581

20.1.3 Animator元素 583

20.2 動畫流UI界面 585

20.2.1 狀態和切換 586

20.2.2 設計組合動畫 589

20.3 圖像特效 592

20.3.1 3D旋轉 592

20.3.2 色彩處理 594

20.4 Qt 5.5(Qt Quick Extras 1.4)新增餅狀選單 596

第21章 Qt Quick Controls開發基礎 599

21.1 Qt Quick Controls概述 599

21.1.1 第一個Qt Quick Controls程式 599

21.1.2 Qt Quick窗體應用程式的構成 601

21.2 Qt Quick控制項 606

21.2.1 概述 606

21.2.2 基本控制項 607

21.2.3 高級控制項 612

21.2.4 樣式定製 617

21.3 Qt Quick對話框 625

21.4 Qt Quick導航視圖 631

21.5 Qt 5.5(Qt Quick Controls 1.4)新增組件 636

第22章 Qt Quick Controls 2新穎界面開發 641

22.1 Qt Quick Controls 2簡介 641

22.1.1 第一個Qt Quick Controls 2程式 642

22.1.2 Qt Quick Controls 2程式的構成 645

22.2 Qt Quick Controls 2與1的比較 649

22.2.1 ApplicationWindow結構不同 649

22.2.2 Menu不支持視窗主選單 653

22.2.3 控制項實現差異 655

22.3 滑動翻頁及隱藏面板 660

22.4 選項列表 665

22.5 帶功能按鈕的列表 669

第23章 【綜合實例】:多功能文檔查看器 676

23.1 核心功能界面演示 676

23.2 界面與程式框架設計 678

23.2.1 準備套用資源 679

23.2.2 主程式代碼框架 680

23.3 瀏覽網頁功能實現 687

23.3.1 實現HtmlHandler處理器 687

23.3.2 編寫Action 692

23.3.3 定義主顯示區元素 692

23.3.4 實現“打開網頁”對話框 692

23.4 閱讀文本功能實現 693

23.4.1 實現TextHandler處理器 694

23.4.2 編寫Action 697

23.4.3 定義主顯示區元素 698

23.4.4 實現“打開文本”對話框 699

23.5 查看圖片功能實現 700

23.5.1 編寫Action 700

23.5.2 定義主顯示區元素 701

23.5.3 實現“打開圖片”對話框 702

23.5.4 對圖片的處理 703

附錄 A C++相關知識 705

A.1 C++程式結構 705

A.2 C++預處理 706

A.3 C++異常處理 708

A.4 C++面向對象編程 711

附錄 B Qt 5簡單調試 721

B.1 修正語法錯誤 721

B.2 設定斷點 722

B.3 程式調試運行 722

B.4 查看和修改變數的值 723

B.5 qDebug()的用法 726

相關詞條

熱門詞條

聯絡我們