Qt 6.x 從入門到精通
朱文偉
買這商品的人也買了...
-
$580$493 -
$174$165 -
$403macOS軟件安全與逆向分析
-
$648$616 -
$372$353 -
$880$695 -
$420$378 -
$403機器學習中的概率統計:Python 語言描述
-
$894$849 -
$714$678 -
$719$683 -
$294$279 -
$662STM32Cube 高效開發教程 (高級篇)
-
$791Qt 6 開發及實例, 5/e
-
$505從零開始 Linux 運維實踐
-
$500Qt Creator 快速入門, 4/e
-
$2,300$2,185 -
$2,300$2,185 -
$780$616 -
$650$507 -
$534$507 -
$300$225 -
$1,200$792 -
$420$378 -
$839$797
相關主題
商品描述
Qt是一個跨平臺C++圖形用戶界面應用程序開發框架,既可以開發GUI程序,也可以開發非GUI程序,比如控制台工具和服務器等,在軟件工業界有廣泛的應用。Qt目前已經是桌面編程工具的霸主! 本書分為15章,內容包括Qt 6概述、開發環境、編程基礎、對話框程序設計、控件設計、數據庫編程、調用Windows動態鏈接庫、使用Linux靜態庫和共享庫、文件編程、菜單欄/工具欄和狀態欄、圖形編程、多線程編程、多媒體編程、網絡編程、應用程序發布。Qt 6相對以前的版本,進行重新設計,捨去了很多舊類、舊函數,也引入了很多新類、新函數。 本書適合Qt編程初學者、Qt跨平臺應用開發人員、Qt界面設計人員,也適合作為高等院校和培訓機構電腦軟件相關專業的教材。
目錄大綱
目 錄
第1章 Qt概述 1
1.1 Qt簡介 1
1.2 發展歷程 2
1.3 Qt的優點 2
1.4 Qt和MFC的比較 3
1.5 Qt的主要應用領域 6
1.6 Qt 6的變化 8
第2章 搭建Qt 6開發環境 10
2.1 搭建Windows下的Qt開發環境 10
2.1.1 在線安裝Qt 6 10
2.1.2 在Qt Creator中使用單步調試功能 18
2.1.3 為老項目部署Qt 4.7.4開發環境 19
2.2 搭建Linux下的Qt開發環境 24
2.2.1 準備虛擬機Linux 24
2.2.2 虛擬機Linux上網 30
2.2.3 下載Qt 6.2 43
2.2.4 下載安裝依賴包 44
2.2.5 安裝Qt 44
2.2.6 第一個Linux下的Qt程序 47
2.2.7 再次做個快照 50
2.3 Qt Creator的一些小技巧 50
2.3.1 添加刪除行的快捷鍵 50
2.3.2 改變編輯器的顏色 51
2.3.3 設置默認的構建套件 52
2.3.4 在Locals窗口中查看變量值 52
第3章 Qt編程基礎 53
3.1 Qt基本數據類型 55
3.2 字節數組類QByteArray 56
3.2.1 初始化 56
3.2.2 訪問某個元素 57
3.2.3 截取子字符串 58
3.2.4 獲取字節數組的大小 59
3.2.5 數據轉換與處理 59
3.2.6 字母大小寫的轉換 62
3.2.7 字符串數值轉為各類數值 63
3.2.8 QByteArray與char*互轉 63
3.2.9 QByteArray與std::string互轉 64
3.2.10 與字符串QString互轉 64
3.2.11 QByteArray與自定義結構體之間的轉化 65
3.2.12 判斷是否為空 66
3.2.13 向前搜索和向後搜索 66
3.2.14 插入 67
3.3 字符類QChar 68
3.3.1 QChar的編碼 68
3.3.2 QChar類的接口 69
3.4 字符串類QString 70
3.4.1 QString類的特點 70
3.4.2 QString類的常用操作 71
3.5 列表類QList 83
3.6 字符串行表類QStringList 87
3.7 Qt和字符集 90
3.7.1 電腦上的3種字符集 90
3.7.2 Qt Creator開發環境對Unicode和多字節的支持 93
3.7.3 在Qt Creator中使用中文字符的兩種方式 95
3.8 認識Qt界面Widgets 95
3.9 Qt中與界面相關的類庫 96
3.9.1 QObject類 97
3.9.2 QWidget類 98
3.9.3 和主窗口有關的類 98
3.9.4 對話框類和控件類 98
3.9.5 Qt Widgets應用程序類型 99
3.10 獲取系統當前時間 102
3.11 事件 104
3.11.1 基本概念 104
3.11.2 事件的描述 104
3.11.3 事件的類型 105
3.11.4 事件的處理 105
3.11.5 事件的傳遞 105
3.12 信號 106
3.12.1 基本概念 106
3.12.2 信號和槽的連接 107
3.12.3 信號和事件的區別 108
第4章 Qt對話框程序設計 109
4.1 對話框程序設計概述 109
4.2 對話框的擴展性 109
4.3 對話框的默認按鈕 109
4.4 QDialog類 110
4.5 初始化對話框的地方 112
4.6 一個簡單的對話框程序 113
4.7 設置對話框的屬性 114
4.7.1 對話框的標題 115
4.7.2 Qt中的坐標系統 116
4.7.3 geometry屬性 118
4.7.4 minimumSize屬性和maximumSize屬性 119
4.7.5 設置對話框的尺寸、圖標和背景圖片 119
4.8 在對話框上使用按鈕控件 124
4.8.1 顯示控件工具箱 124
4.8.2 拖動一個按鈕到對話框 124
4.8.3 選中按鈕控件 125
4.8.4 移動對話框上的按鈕控件 125
4.8.5 對齊對話框上的按鈕控件 125
4.8.6 調整按鈕控件的大小 125
4.8.7 刪除對話框上的按鈕控件 125
4.8.8 為按鈕控件添加事件處理函數 126
4.9 模態對話框和非模態對話框 128
4.10 通用對話框 131
4.10.1 消息對話框 132
4.10.2 文件對話框 139
4.10.3 字體對話框QFontDialog類 146
4.10.4 顏色對話框 149
4.11 移動對話框到指定位置 151
4.12 在對話框非標題欄區域實現拖動 152
第5章 Qt控件設計 154
5.1 控件概述 154
5.2 對話框程序設計概述 155
5.3 按鈕類控件 155
5.3.1 概述 155
5.3.2 按鈕類的父類QAbstractButton 156
5.3.3 按壓按鈕 156
5.3.4 工具按鈕 159
5.3.5 單選按鈕 162
5.3.6 復選框 165
5.3.7 對話框組合按鈕 169
5.4 列表視圖控件 170
5.4.1 抽象數據項模型QAbstractItemModel 171
5.4.2 字符串行表數據模型QStringListModel 172
5.4.3 文件系統數據模型QFileSystemModel 175
5.5 樹形視圖控件 178
5.5.1 標準數據項QStandardItem 178
5.5.2 標準數據項模型QStandardItemModel 179
5.5.3 添加表頭 182
5.5.4 隱藏表頭 182
5.5.5 表項的操作 183
5.6 組合框 190
5.6.1 添加內容項和設置圖標 190
5.6.2 刪除某個內容項 191
5.6.3 清空組合框內容 191
5.6.4 組合框列表項的訪問 191
5.6.5 選擇項發生變化時的信號 191
5.7 字體組合框 194
5.8 標簽控件 195
5.9 分組框控件 201
5.10 正則表達式和QregExp類 201
5.10.1 正則表達式的規則 202
5.10.2 正則表達式中的一些高級規則 205
5.10.3 其他通用規則 207
5.10.4 正則表達式屬性 208
5.10.5 QRegularExpression類 209
5.11 行編輯框 211
5.11.1 常用成員函數 212
5.11.2 用於描述輸入框如何顯示其內容的枚舉值 212
5.11.3 對齊方式 213
5.11.4 獲取和設置選擇的文本 213
5.11.5 常用信號 213
5.11.6 限制字符的輸入 213
5.12 進度條控件 219
5.12.1 QProgressBar類的常用函數 219
5.12.2 進度方向 220
5.12.3 文本顯示 220
5.12.4 繁忙指示 221
5.13 佈局管理器 222
5.13.1 基本佈局管理器QBoxLayout類 222
5.13.2 柵格佈局管理器QGridLayout類 223
5.13.3 窗體佈局管理器QFormLayout類 223
5.13.4 棧佈局管理器QStackedLayout類 223
第6章 Qt數據庫編程 225
6.1 數據庫的基本概念 225
6.2 Qt SQL模塊 226
6.3 訪問數據庫 228
6.3.1 訪問Access數據庫 228
6.3.2 訪問SQLite數據庫 233
第7章 Qt調用Windows下的動態鏈接庫 240
7.1 動態鏈接庫的定義 240
7.2 使用動態鏈接庫的好處 241
7.3 動態鏈接庫的分類 242
7.4 Win32 DLL的開發和Qt調用 242
7.4.1 在DLL中導出全局函數並調用 242
7.4.2 在VC++中使用DLL的導出函數 246
7.4.3 函數DllMain() 251
7.4.4 在Qt中調用DLL的導出函數 253
7.4.5 在Qt中調用DLL的導出變量 266
7.4.6 在DLL中導出類 273
7.4.7 在Qt項目中調用DLL的導出類 276
7.4.8 Qt生成DLL 278
7.4.9 其他語言調用Qt生成的DLL 280
7.5 MFC下DLL的開發和Qt的調用 287
7.5.1 MFC DLL的生成 287
7.5.2 在Qt下調用MFC DLL 292
第8章 在Qt中使用Linux的靜態庫和動態庫 294
8.1 Qt程序調用靜態庫和動態庫 294
8.1.1 庫的基本概念 294
8.1.2 庫的分類 294
8.2 靜態庫 295
8.2.1 靜態庫的基本概念 295
8.2.2 靜態庫的創建和使用 295
8.2.3 在Qt項目中使用靜態庫 297
8.3 動態庫 298
8.3.1 動態庫的基本概念 298
8.3.2 動態庫的創建和使用 299
8.3.3 在Qt中使用動態庫 303
第9章 Qt文件編程 306
9.1 輸入/輸出設備類 306
9.2 文件類QFile 306
第10章 Qt菜單欄、工具欄和狀態欄 319
10.1 菜單的設計與開發 319
10.1.1 菜單欄類QMenuBar 320
10.1.2 動作類QAction 321
10.1.3 菜單類QMenu 321
10.1.4 以可視化方式添加菜單 327
10.1.5 快捷菜單 328
10.2 工具欄的設計與開發 330
10.3 狀態欄的設計與開發 334
10.3.1 將子菜單項提示信息顯示在狀態欄上 337
10.3.2 臨時信息不需要標簽 338
10.3.3 在狀態欄上使用按鈕 338
第11章 Qt圖形編程 340
11.1 概述 340
11.2 重繪事件處理函數paintEvent() 341
11.3 點的坐標QPoint 343
11.3.1 成員函數 343
11.3.2 相關非成員 343
11.3.3 定義一個點 344
11.3.4 計算歐氏距離
(兩點之間的距離) 344
11.3.5 獲取和設置點的分量值 345
11.3.6 利用x和y坐標的引用值實現自加和自減 345
11.3.7 利用重載運算符計算點坐標 346
11.4 矩形尺寸QSize 346
11.4.1 成員函數 347
11.4.2 非成員函數 347
11.4.3 定義一個矩形尺寸 348
11.4.4 獲取和設置矩形尺寸的寬度和高度 349
11.4.5 利用寬度和高度的引用值實現自加和自減 349
11.4.6 縮放矩形尺寸 350
11.4.7 利用重載運算符計算矩形尺寸 350
11.5 顏色 351
11.5.1 構造顏色 352
11.5.2 獲取和設置RGB分量 352
11.5.3 QColor、QString和QRgb互轉 352
11.6 畫筆類QPen 353
11.6.1 畫筆的屬性 354
11.6.2 構造一支畫筆 356
11.6.3 獲取或設置畫筆顏色 357
11.6.4 獲取或設置畫筆寬度 357
11.6.5 獲取或設置畫筆線型樣式 357
11.7 畫刷 357
11.8 畫圖類QPainter 360
11.8.1 畫直線 360
11.8.2 畫矩形 360
11.8.3 畫橢圓和圓 361
11.8.4 繪制文本 361
第12章 Qt多線程編程 364
12.1 使用多線程的好處 364
12.2 多線程編程的基本概念 365
12.2.1 操作系統和多線程 365
12.2.2 線程的基本概念 366
12.2.3 線程的狀態 366
12.2.4 線程函數 367
12.2.5 線程標識 367
12.2.6 Qt多線程編程的3種方式 368
12.3 在Qt中使用POSIX多線程庫 368
12.3.1 線程的創建 368
12.3.2 線程的屬性 373
12.3.3 線程的結束 384
12.3.4 線程退出時的清理機會 392
12.4 在Qt中使用C++ 11線程類 397
12.4.1 線程的創建 398
12.4.2 線程的標識符 404
12.4.3 當前線程this_thread 405
12.5 使用Qt自身的線程類 409
12.5.1 QThread類的基本使用 409
12.5.2 線程間通信 412
第13章 Qt多媒體編程 418
13.1 概述 418
13.2 媒體設備類QMediaDevices 423
13.3 音頻設備類QAudioDevice 425
13.4 音頻輸出類QAudioOutput 427
13.5 媒體播放類QMediaPlayer 430
13.5.1 成員函數和槽函數 430
13.5.2 重要信號 432
13.5.3 播放音頻 432
13.5.4 播放視頻 433
13.6 視頻小部件類QVideoWidget 437
13.7 相機設備類QCameraDevice 440
13.8 相機接口類QCamera 441
13.9 媒體捕獲會話類
QmediaCaptureSession 444
13.10 視頻部件類QVideoWidget 444
13.11 圖片捕獲類QImageCapture 445
13.12 編碼和記錄視頻類QMediaRecorder 446
第14章 Qt網絡編程 455
14.1 TCP/IP協議 455
14.1.1 TCP/IP協議的基本概念 455
14.1.2 TCP/IP協議的分層結構 455
14.2 獲取主機的網絡信息 457
14.2.1 QHostInfo類 457
14.2.2 查詢本機的主機名 458
14.2.3 查詢本機的IP地址 459
14.3 TCP編程 461
第15章 Qt應用程序發布 468