本書是基於QtCreator集成開發環境的入門書籍,詳細介紹瞭QtCreator開發環境的使用和Qt基本知識點的應用。本書內容主要包括Qt的基本應用,以及Qt在圖形動畫、影音媒體、數據處理和
網絡通信方麵的應用內容。與第2版相比,本書使用Z新的Qt5.6.1和QtCreator4.0.1進行瞭全書修訂,主要重寫瞭3D繪圖、影音媒體、WebKit等章節;添加瞭Qt5框架介紹、將Qt4代碼遷移到
Qt5等相關附錄,從而幫助初學者快速入門Qt5編程。
本書內容全麵、實用,講解通俗易懂,適閤沒有Qt編程基礎、有Qt編程基礎但是沒有形成知識框架以及想學習Qt某一方麵應用的讀者,也適閤想從Qt4跨入Qt5編程的讀者。對於想學習QML及QtQuick編程的讀者,可以學習《Qt5 編程入門》一書;想進一步學習Qt開發實例的讀者,可以學習《Qt及QtQuick開發實戰精解》一書。
第1篇 基本應用篇
第1章 QtCreator簡介………………………………………………………………… 2
1.1 QtCreator的下載與安裝……………………………………………………… 2
1.2 QtCreator環境介紹…………………………………………………………… 3
1.2.1 運行一個示例程序………………………………………………………… 6
1.2.2 幫助模式…………………………………………………………………… 8
1.3 Qt工具簡介…………………………………………………………………… 10
1.3.1 QtAssistant(Qt助手)…………………………………………………… 10
1.3.2 QtDesigner(Qt設計師)………………………………………………… 11
1.3.3 QtLinguist(Qt語言傢) ………………………………………………… 11
1.4 小 結…………………………………………………………………………… 12
第2章 HelloWorld …………………………………………………………………… 13
2.1 編寫HelloWorld程序………………………………………………………… 13
2.1.1 新建QtWidgets應用…………………………………………………… 13
2.1.2 文件說明與界麵設計……………………………………………………… 16
2.2 程序的運行與發布……………………………………………………………… 18
2.2.1 程序的運行………………………………………………………………… 18
2.2.2 程序的發布………………………………………………………………… 21
2.2.3 設置應用程序圖標………………………………………………………… 23
2.3 helloworld程序源碼與編譯過程詳解………………………………………… 24
2.3.1 純代碼編寫程序與命令行編譯…………………………………………… 25
2.3.2 使用.ui文件……………………………………………………………… 31
2.3.3 自定義C++類…………………………………………………………… 35
2.3.4 使用Qt設計師界麵類…………………………………………………… 38
2.4 項目模式和項目文件介紹……………………………………………………… 39
2.4.1 項目模式…………………………………………………………………… 39
2.4.2 項目文件…………………………………………………………………… 40
2.4.3 關於本書源碼的使用……………………………………………………… 41
2.5 小 結…………………………………………………………………………… 41
第3章 窗口部件……………………………………………………………………… 42
3.1 基礎窗口部件QWidget ……………………………………………………… 42
3.1.1 窗口、子部件以及窗口類型……………………………………………… 43
3.1.2 窗口幾何布局……………………………………………………………… 46
3.1.3 程序調試…………………………………………………………………… 46
3.2 對話框QDialog………………………………………………………………… 50
3.2.1 模態和非模態對話框……………………………………………………… 50
3.2.2 多窗口切換………………………………………………………………… 51
3.2.3 標準對話框………………………………………………………………… 56
3.3 其他窗口部件…………………………………………………………………… 63
3.3.1 QFrame類族……………………………………………………………… 63
3.3.2 按鈕部件…………………………………………………………………… 67
3.3.3 QLineEdit ………………………………………………………………… 68
3.3.4 QAbstractSpinBox ……………………………………………………… 71
3.3.5 QAbstractSlider ………………………………………………………… 72
3.4 小 結…………………………………………………………………………… 72
第4章 布局管理……………………………………………………………………… 73
4.1 布局管理係統…………………………………………………………………… 73
4.1.1 布局管理器………………………………………………………………… 74
4.1.2 設置部件大小……………………………………………………………… 77
4.1.3 可擴展窗口………………………………………………………………… 80
4.1.4 分裂器(QSplitter)………………………………………………………… 81
4.2 設置夥伴(buddy)……………………………………………………………… 82
4.3 設置Tab鍵順序……………………………………………………………… 83
4.4 QtCreator中的定位器………………………………………………………… 83
4.5 小 結…………………………………………………………………………… 84
第5章 應用程序主窗口……………………………………………………………… 85
5.1 主窗口框架……………………………………………………………………… 85
5.1.1 Qt資源係統、菜單欄和工具欄…………………………………………… 86
5.1.2 中心部件…………………………………………………………………… 91
5.1.3 Dock部件………………………………………………………………… 92
5.1.4 狀態欄……………………………………………………………………… 93
5.1.5 自定義菜單………………………………………………………………… 93
5.2 富文本處理……………………………………………………………………… 96
5.2.1 富文本文檔結構…………………………………………………………… 96
5.2.2 文本塊……………………………………………………………………… 98
5.2.3 錶格、列錶與圖片………………………………………………………… 101
5.2.4 查找功能………………………………………………………………… 102
5.2.5 語法高亮與HTML …………………………………………………… 104
5.3 拖放操作……………………………………………………………………… 106
5.3.1 使用拖放打開文件……………………………………………………… 106
5.3.2 自定義拖放操作………………………………………………………… 107
5.4 打印文檔……………………………………………………………………… 111
5.5 小 結………………………………………………………………………… 114
第6章 事件係統……………………………………………………………………… 115
6.1 Qt中的事件…………………………………………………………………… 115
6.1.1 事件的處理……………………………………………………………… 116
6.1.2 事件的傳遞……………………………………………………………… 116
6.2 鼠標事件和滾輪事件………………………………………………………… 120
6.3 鍵盤事件……………………………………………………………………… 122
6.4 定時器事件與隨機數………………………………………………………… 126
6.5 事件過濾器與事件的發送…………………………………………………… 128
6.6 小 結………………………………………………………………………… 130
第7章 Qt對象模型與容器類……………………………………………………… 131
7.1 對象模型……………………………………………………………………… 131
7.1.1 信號和槽………………………………………………………………… 132
7.1.2 屬性係統………………………………………………………………… 139
7.1.3 對象樹與擁有權………………………………………………………… 142
7.1.4 元對象係統……………………………………………………………… 144
7.2 容器類………………………………………………………………………… 145
7.2.1 Qt的容器類介紹………………………………………………………… 146
7.2.2 遍曆容器………………………………………………………………… 150
7.2.3 通用算法………………………………………………………………… 156
7.2.4 QString ………………………………………………………………… 158
7.2.5 QByteArray和QVariant ……………………………………………… 163
7.3 正則錶達式…………………………………………………………………… 165
7.3.1 正則錶達式介紹………………………………………………………… 165
7.3.2 正則錶達式組成元素…………………………………………………… 167
7.3.3 文本捕獲………………………………………………………………… 170
7.3.4 新的QRegularExpression類…………………………………………… 171
7.4 小 結………………………………………………………………………… 173
第8章 界麵外觀……………………………………………………………………… 174
8.1 Qt風格………………………………………………………………………… 174
8.2 Qt樣式錶……………………………………………………………………… 177
8.2.1 Qt樣式錶介紹…………………………………………………………… 177
8.2.2 Qt樣式錶語法…………………………………………………………… 178
8.2.3 自定義部件外觀與換膚………………………………………………… 181
8.3 特殊效果窗體………………………………………………………………… 185
8.3.1 不規則窗體……………………………………………………………… 185
8.3.2 透明窗體………………………………………………………………… 186
8.3.3 實現Windows7毛玻璃效果…………………………………………… 189
8.4 小 結………………………………………………………………………… 190
第9章 國際化、幫助係統和Qt插件……………………………………………… 191
9.1 國際化………………………………………………………………………… 191
9.1.1 使用QtLinguist翻譯應用程序……………………………………… 191
9.1.2 程序翻譯中的相關問題………………………………………………… 196
9.2 幫助係統……………………………………………………………………… 199
9.2.1 簡單的幫助提示………………………………………………………… 199
9.2.2 定製QtAssistant ……………………………………………………… 199
9.3 創建Qt插件………………………………………………………………… 207
9.3.1 在設計模式提升窗口部件……………………………………………… 207
9.3.2 創建應用程序插件……………………………………………………… 208
9.3.3 創建QtDesigner自定義部件………………………………………… 212
9.4 小 結………………………………………………………………………… 214
第2篇 圖形動畫篇
第10章 2D 繪圖……………………………………………………………………… 216
10.1 基本繪製和填充……………………………………………………………… 216
10.1.1 基本圖形的繪製和填充………………………………………………… 217
10.1.2 漸變填充………………………………………………………………… 222
10.2 坐標係統……………………………………………………………………… 225
10.2.1 抗鋸齒渲染……………………………………………………………… 226
10.2.2 坐標變換………………………………………………………………… 228
10.3 其他繪製……………………………………………………………………… 235
10.3.1 繪製文字………………………………………………………………… 235
10.3.2 繪製路徑………………………………………………………………… 236
10.3.3 繪製圖像………………………………………………………………… 239
10.3.4 復閤模式………………………………………………………………… 244
10.4 雙緩衝繪圖…………………………………………………………………… 246
10.5 繪圖中的其他問題…………………………………………………………… 248
10.6 小 結………………………………………………………………………… 250
第11章 圖形視圖、動畫和狀態機框架……………………………………………… 251
11.1 圖形視圖框架的結構………………………………………………………… 251
11.1.1 場 景…………………………………………………………………… 252
11.1.2 視 圖…………………………………………………………………… 253
11.1.3 圖形項…………………………………………………………………… 255
11.2 圖形視圖框架的坐標係統和事件處理……………………………………… 257
11.2.1 坐標係統………………………………………………………………… 257
11.2.2 事件處理與傳播………………………………………………………… 262
11.3 圖形視圖框架的其他特性…………………………………………………… 267
11.3.1 圖形效果………………………………………………………………… 267
11.3.2 動畫、碰撞檢測和圖形項組…………………………………………… 268
11.3.3 打印和使用OpenGL進行渲染……………………………………… 271
11.3.4 窗口部件、布局和內嵌部件…………………………………………… 272
11.4 動畫框架……………………………………………………………………… 274
11.4.1 實現屬性動畫…………………………………………………………… 275
11.4.2 使用緩和麯綫…………………………………………………………… 276
11.4.3 動畫組…………………………………………………………………… 276
11.4.4 在圖形視圖框架中使用動畫…………………………………………… 278
11.5 狀態機框架…………………………………………………………………… 280
11.5.1 創建狀態機……………………………………………………………… 280
11.5.2 在狀態機中使用動畫…………………………………………………… 281
11.5.3 狀態機框架的其他特性………………………………………………… 283
11.6 小 結………………………………………………………………………… 290
第12章 3D 繪圖……………………………………………………………………… 291
12.1 使用OpenGL繪製圖形介紹……………………………………………… 291
12.2 繪製多邊形…………………………………………………………………… 295
12.2.1 使用頂點數組…………………………………………………………… 295
12.2.2 使用緩存………………………………………………………………… 297
12.3 繪製彩色3D圖形…………………………………………………………… 297
12.3.1 為圖形設置頂點顔色…………………………………………………… 298
12.3.2 實現3D效果…………………………………………………………… 299
12.4 使用紋理貼圖………………………………………………………………… 300
12.5 小 結………………………………………………………………………… 303
第3篇 影音媒體篇
第13章 音視頻播放………………………………………………………………… 305
第14章 相機和音頻錄製…………………………………………………………… 322
第4篇 數據處理篇
第15章 文件、目錄和輸入/輸齣…………………………………………………… 336
第16章 模型/視圖編程……………………………………………………………… 349
第17章 數據庫和XML …………………………………………………………… 380
第5篇 網絡通信篇
第18章 網絡編程…………………………………………………………………… 413
第19章 進程和綫程………………………………………………………………… 446
第20章 QtWebEngine ……………………………………………………………… 465
附錄A Qt5簡介…………………………………………………………………… 477
兩年前,當本書編寫第2版時,Qt5已經上市,當時基於多方麵考慮,沒有更新到Qt5版本。後來為瞭滿足廣大讀者的需要,齣版瞭《Qt5編程入門》,但是與書名不符的是,裏麵主要包含瞭QML和QtQuick的內容,因為從某方麵而言,Qt5最大的更新其實就是QtQuick。而對於本書涉及的C++ Widgets編程,在網站上提供瞭相應的遷移教程,幫助讀者將Qt4程序遷移到Qt5。
之所以遲遲沒有將本書更新到Qt5,是因為作者感覺還不是時候。直到今年3月Qt推齣瞭5.6版本,並且是Qt5以來第一個長期支持版本,提供3年的安全更新和漏洞修復,作者感覺是時候將本書進行全麵更新、引領讀者進入Qt5時代瞭。
這次改版是基於Qt5.6.1對全書進行修訂,修改工作細化到每一句講解、每一行代碼、每一張圖片,確保所有內容都得到更新,整體工作量不亞於重寫全書。其中,較大的改動是重寫瞭第12章3D繪圖、第13~14章多媒體內容、第20章WebKit,因為Qt4中相關模塊被Qt5中新的模塊代替,具體更改可以參見關章節。這次改版對Qt5的更新以及將程序從Qt4遷移到Qt5做瞭全麵介紹,但是為瞭不影響初學者的主綫學習,將這些內容放到瞭附錄中。
本係列叢書現在包括3本:《QtCreator快速入門》、《Qt及QtQuick開發實戰精解》、《Qt5編程入門》。由於曆史原因,這3本書的書名可能無法代錶其中的內容,這裏做一下說明。
《QtCreator快速入門》講解瞭經典的C++ Widgets編程,是Qt最基礎和最核心的內容,也是Qt入門必學的內容,現在最新版本為第3版,基於Qt5.6.1和QtCreator4.0.1。
《Qt5編程入門》講解瞭QML語言、QtQuick編程和移動開發相關內容,主要用於為移動設備開發動態觸摸式界麵,QML和QtQuick雖然是全新的語言和內容,但是其包含在Qt框架之中,很多機製、理念都與經典的C++ Widgets編程一緻,所以建議先學習《QtCreator快速入門》,再來學習本書,現在最新版本是即將齣版的第2版,將基於Qt5.7。
《Qt及QtQuick開發實戰精解》以前包括瞭C++ Widgets綜閤實例程序和QtQuick的基礎內容,因為現在QtQuick的基礎內容已經編寫到瞭《Qt5編程入門》中,所以,今後該書的定位是C++ Widgets綜閤實例程序和QtQuick綜閤實例程序,現在最新版本是即將齣版的第2版,將基於Qt5.7。
《QtCreator快速入門(第3版)》齣版後,《Qt5編程入門(第2版)》和《Qt及QtQuick開發實戰精解(第2版)》也會很快齣版,這樣本係列叢書已經基本成型,將覆蓋Qt幾乎全部基礎內容,並提供應用瞭所有知識點的綜閤實例程序,讀者使用該係列叢書可以輕鬆入門Qt編程世界。
最後感謝北京航空航天大學齣版社的編輯和那些關注、愛好Qt的朋友們,是他們的支持和幫助,纔讓作者一直堅持下來。一些朋友還參與瞭該係列叢書的審校和代碼審核工作,他們是吳迪wd007)、白建平(XChinux)、董世明、程梁(豆子)、劉柏燊(紫俠)和周慧宗(hzzhou)等,是眾多朋友的認真工作,纔使得該係列叢書可以成為經典作品,這裏對他們的付齣錶示感謝。
霍亞飛
2016年11月
拒絕瞭
評分有點髒
評分質量很好的,搞促銷時買的很劃算
評分學習qt的入門書籍,寫的挺實用
評分很好,很快,唯一瑕疵就是封麵有褶皺
評分正在學習,正版書,物流很快。
評分書內容還是不錯哦,就是印刷的質量不是很好,有幾頁有問題,其他的還好
評分書的質量很好,內容適閤初學者,贊!
評分講的非常詳細,非常好的一本書
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 windowsfront.com All Rights Reserved. 靜流書站 版權所有