Qt5開發及實例
Qt5開發及實例
資料來源:https://www.3dwoo.com/
https://github.com/EngineWorld/Qt5Dev-Examples
https://github.com/zxh1986123/QT5-Development-and-examples
https://github.com/XiaoTianWork/Qt5-StudyNote
GITHUB: https://github.com/jash-git/Qt_BOOK_20210504
目錄:
第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
One thought on “Qt5開發及實例”
QT 電子書 PDF