3dwoo大學簡體電腦書店
Qt 6.x從入門到精通
( 簡體 字)
作者:朱文偉類別:1. -> 作業系統 -> Linux -> QT
出版社:清華大學出版社Qt 6.x從入門到精通 3dWoo書號: 56072
詢問書籍請說出此書號!
有庫存
NT售價: 595
出版日:9/1/2022
頁數:469
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302614487 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章Qt概述 1
1.1Qt簡介 1
1.2發展歷程 2
1.3Qt的優點 2
1.4Qt和MFC的比較 3
1.5Qt的主要應用領域 6
1.6Qt6的變化 8
第2章搭建Qt6開發環境 10
2.1搭建Windows下的Qt開發環境 10
2.1.1在線安裝Qt6 10
2.1.2在QtCreator中使用單步調試功能 18
2.1.3為老項目部署Qt4.7.4開發環境 19
2.2搭建Linux下的Qt開發環境 24
2.2.1準備虛擬機Linux 24
2.2.2虛擬機Linux上網 30
2.2.3下載Qt6.2 43
2.2.4下載安裝依賴包 44
2.2.5安裝Qt 44
2.2.6第一個Linux下的Qt程序 47
2.2.7再次做個快照 50
2.3QtCreator的一些小技巧 50
2.3.1添加刪除行的快捷鍵 50
2.3.2改變編輯器的顏色 51
2.3.3設置默認的構建套件 52
2.3.4在Locals窗口中查看變量值 52
第3章Qt編程基礎 53
3.1Qt基本數據類型 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.8QByteArray與char*互轉 63
3.2.9QByteArray與std::string互轉 64
3.2.10與字符串QString互轉 64
3.2.11QByteArray與自定義結構體之間的轉化 65
3.2.12判斷是否為空 66
3.2.13向前搜索和向后搜索 66
3.2.14插入 67
3.3字符類QChar 68
3.3.1QChar的編碼 68
3.3.2QChar類的接口 69
3.4字符串類QString 70
3.4.1QString類的特點 70
3.4.2QString類的常用操作 71
3.5列表類QList 83
3.6字符串列表類QStringList 87
3.7Qt和字符集 90
3.7.1計算機上的3種字符集 90
3.7.2QtCreator開發環境對Unicode和多字節的支持 93
3.7.3在QtCreator中使用中文字符的兩種方式 95
3.8認識Qt界面Widgets 95
3.9Qt中與界面相關的類庫 96
3.9.1QObject類 97
3.9.2QWidget類 98
3.9.3和主窗口有關的類 98
3.9.4對話框類和控件類 98
3.9.5QtWidgets應用程序類型 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.4QDialog類 110
4.5初始化對話框的地方 112
4.6一個簡單的對話框程序 113
4.7設置對話框的屬性 114
4.7.1對話框的標題 115
4.7.2Qt中的坐標系統 116
4.7.3geometry屬性 118
4.7.4minimumSize屬性和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.5QRegularExpression類 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.1QProgressBar類的常用函數 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.2QtSQL模塊 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.4Win32DLL的開發和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.8Qt生成DLL 278
7.4.9其他語言調用Qt生成的DLL 280
7.5MFC下DLL的開發和Qt的調用 287
7.5.1MFCDLL的生成 287
7.5.2在Qt下調用MFCDLL 292
第8章在Qt中使用Linux的靜態庫和動態庫 294
8.1Qt程序調用靜態庫和動態庫 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.3QColor、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.6Qt多線程編程的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.1QThread類的基本使用 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.1TCP/IP協議 455
14.1.1TCP/IP協議的基本概念 455
14.1.2TCP/IP協議的分層結構 455
14.2獲取主機的網絡信息 457
14.2.1QHostInfo類 457
14.2.2查詢本機的主機名 458
14.2.3查詢本機的IP地址 459
14.3TCP編程 461
第15章Qt應用程序發布 468
Qt是一個跨平臺C++圖形用戶界面應用程序開發框架,既可以開發GUI程序,也可以開發非GUI程序,比如控制臺工具和服務器等,在軟件工業界有廣泛的應用。Qt目前已經是桌面編程工具的霸主!
本書分為15章,內容包括Qt 6概述、開發環境、編程基礎、對話框程序設計、控件設計、數據庫編程、調用Windows動態鏈接庫、使用Linux靜態庫和共享庫、文件編程、菜單欄/工具欄和狀態欄、圖形編程、多線程編程、多媒體編程、網絡編程、應用程序發布。Qt 6相對以前的版本,進行重新設計,舍去了很多舊類、舊函數,也引入了很多新類、新函數。
本書適合Qt編程初學者、Qt跨平臺應用開發人員、Qt界面設計人員,也適合作為高等院校和培訓機構計算機軟件相關專業的教材。
光陰似箭,日月如梭,Qt的廣泛使用以及跨平臺的天生優點,使得它已經成為桌面編程工具的霸主!Qt作為一個跨平臺的開源C++應用程序開發框架,在國內外的各種行業中有非常廣泛的應用,尤其是面向軍工、嵌入式、自主可控的信息安全行業,Qt是個必不可少的編程工具。所以,掌握Qt的開發技能對于C/C++開發者顯得尤為重要,因為很多商業軟件都要求能在多個操作系統下運行。
Qt是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用于超過70個行業、數千家企業,支持數百萬設備及應用。Qt在當前C++跨平臺編程領域已居霸主地位,希望大家能夠通過本書的學習打好Qt開發的基礎,早日成為Qt高手。
關于本書
本書以Qt 6.2版本為開發平臺,循序漸進地介紹Qt開發應用程序的常用技術,包括在Windows和Linux下的Qt開發環境的搭建、單步調試功能的使用、應用程序的基本架構、信號與槽工作機制、Qt繪圖、對話框編程、常用界面組件編程、文件讀寫、Windows和Linux下的庫的創建和使用、繪圖、數據庫、多線程、網絡和多媒體等模塊的使用。每個編程主題都精心設計了完整的實例程序,并且步驟詳細,有助于讀者快速上手。通過閱讀本書,大家可以了解Qt開發應用程序所需的基本技術。Qt應用程序通常在Qt Creator下開發。該環境也是跨平臺的,書中用的Qt Creator版本是7.0.1。相對以前的版本,用起來更加順手!
編程開發僅僅了解理論是不夠的,只有上機調試后才能對其中知識有深刻理解,Qt更是如此。為了照顧初學者,本書的每個實例步驟講解得非常詳細,從建立項目到運行項目都提供豐富的注釋。另外,本書的所有實例和資源都可以免費下載。值得注意的是Qt 6已經不支持Windows 7了,因此本書的所有實例都在Windows 10運行通過。
本書講述Qt開發最基本的、必須掌握的知識,既有Windows下的Qt開發,也有Linux下的Qt開發,可以說一線開發會碰到的問題在本書中基本都有所涉及。限于篇幅,本書沒有加入C++語言的介紹,需要讀者具備一定的C/C++語言知識。Qt 6相對以前的版本,進行了重新設計,舍去了很多舊類、舊函數,也引入了很多新類新函數。
本書讀者
? Qt編程初學者
? Qt跨平臺應用開發人員
? Qt軟件產品研發人員
? 高等院校和培訓學校相關專業的師生
配套源碼下載
本書配套源代碼與編程環境,需要用微信掃描下邊二維碼獲取,可按掃描后的頁面提示填寫你的郵箱,把下載鏈接轉發到郵箱中下載。如果下載有問題或閱讀中發現問題,請聯系booksaga@163.com,郵件主題為“Qt 6.x從入門到精通”。

本書作者與鳴謝
本書由朱文偉和李建英聯合創作,感謝李建英老師的辛勤付出。本書能夠順利出版,離不開清華大學出版社老師們的辛勤工作和熱情幫助,在此表示衷心的感謝。雖然我們非常用心地編寫本書,但是疏漏之處在所難免,希望讀者不吝指教。

作 者
2022年8月
pagetop