本書是基於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 Creator快速入門(第3版)》時,我本來隻是抱著試試看的心態,畢竟之前接觸過一些編程入門書籍,但總感覺不夠係統,或者說實操性不強,看完後好像還是雲裏霧裏。可這本書真的給瞭我驚喜。翻開第一頁,我就被那種清晰的邏輯和循序漸進的講解吸引住瞭。作者並沒有一開始就拋齣大量晦澀難懂的概念,而是從最基礎的環境搭建開始,一步一步地引導讀者。我尤其欣賞的是,書裏提供的每一個代碼示例都非常貼近實際應用,我甚至可以毫不猶豫地將它們復製粘貼到我的項目中進行測試和修改,這種“即學即用”的感覺大大增強瞭我的學習動力。而且,書中對Qt Creator這款IDE的使用技巧講解得非常到位,從項目創建、代碼編輯、調試到UI設計,都講解得細緻入微。我之前一直覺得Qt Creator功能很強大,但很多高級功能我根本不知道怎麼用,這本書就像一座寶藏,讓我解鎖瞭許多之前從未留意過的便利工具,大大提高瞭我的開發效率。比如,書中關於信號與槽機製的講解,是我之前學習Qt時最大的睏擾之一,但這本書用非常形象的比喻和簡潔的代碼示例,讓我一下子就茅塞頓開,理解得透徹瞭很多。讀這本書的過程,更像是和一位經驗豐富的導師一起工作,他會耐心地解答你的疑問,引導你剋服難關。
評分說實話,在購買《Qt Creator快速入門(第3版)》之前,我對“快速入門”這個概念有些懷疑,總覺得“快速”往往意味著“淺嘗輒止”,但我錯瞭。這本書在保證“快速”的同時,內容深度和廣度都讓我感到滿意。它不僅僅是停留在API的羅列和功能的介紹,而是深入到瞭Qt開發的一些核心思想和設計模式。我最喜歡的部分是關於Qt Widgets和Qt Quick的對比講解。通過這本書,我終於明白瞭在什麼場景下選擇Widgets,又在什麼場景下更適閤使用Quick,這對於我未來在不同項目中做齣技術選型非常有幫助。而且,書中對於跨平颱開發的講解也給瞭我很大的啓發,瞭解瞭Qt如何實現一套代碼在Windows、Linux、macOS甚至嵌入式設備上運行,這讓我看到瞭Qt在廣闊應用前景下的潛力。書中的很多案例都非常有代錶性,比如一個簡單的計算器應用,從UI布局到邏輯實現,再到最後的打包部署,都講解得非常完整,讓我有機會從頭到尾地體驗一次完整的Qt應用開發流程。讀完這些章節,我感覺自己對Qt的整體認知有瞭一個質的飛躍,不再是零散的知識點,而是形成瞭一個完整的知識體係。
評分作為一名已經有幾年編程經驗的開發者,但對Qt涉足不深,一直想係統地學習一下。偶然間看到瞭《Qt Creator快速入門(第3版)》這本書,覺得名字很契閤我的需求。拿到手後,確實沒有讓我失望。這本書的結構安排得非常閤理,從基礎概念的引入,到核心模塊的講解,再到高級特性的介紹,層層遞進,非常適閤我這種有一定編程基礎但對Qt不熟悉的讀者。我特彆欣賞書中對Qt Creator的“深度挖掘”。很多其他的Qt書籍可能更側重於Qt框架本身的API,而這本書則花瞭相當大的篇幅來講解如何高效地使用Qt Creator這個強大的開發工具。比如,書中關於資源管理、國際化、性能調優等方麵的內容,都給瞭我很多實用的建議和方法。我之前在處理項目中的圖片和圖標時,總是自己手動管理,效率很低,看瞭書裏關於Qt資源文件的講解後,我纔意識到原來有這麼方便的方式,大大簡化瞭我的工作流程。此外,書中還提到瞭一些Qt的“最佳實踐”,這對於養成良好的編程習慣非常有幫助,避免瞭一些常見的陷阱。
評分這本書《Qt Creator快速入門(第3版)》最讓我印象深刻的是它帶來的那種“成就感”。每讀完一個章節,我都會嘗試著去復現書中的例子,然後根據自己的想法進行修改和擴展。令我驚喜的是,書中的代碼寫得非常規範,而且作者預留瞭很多擴展的可能性,讓我很容易就能在原有基礎上添加新功能,看到自己的小項目一點點豐富起來,那種感覺真的非常棒。我尤其喜歡書中關於模型/視圖(Model/View)編程的講解。這部分內容通常是很多初學者容易感到睏惑的地方,但這本書用一種非常直觀的方式,結閤具體的例子,將復雜的數據展示和管理邏輯變得清晰易懂。我之前在做一個需要展示大量數據的列錶時,總是感覺代碼寫得非常臃腫,看瞭書裏的講解後,我纔發現原來可以通過QAbstractItemModel和相關視圖來實現更高效、更靈活的解決方案。這讓我對Qt的強大之處有瞭更深刻的認識,也更加期待能夠利用Qt開發齣更多優秀的應用。
評分對於剛開始接觸Qt編程的新手來說,《Qt Creator快速入門(第3版)》這本書簡直就是一座燈塔,指引著方嚮。我之前嘗試過一些其他語言的學習,但編程思維的建立總是磕磕絆絆,而這本書從一開始就非常注重培養讀者的“Qt思維”。它不僅僅是教你如何寫代碼,更重要的是讓你理解Qt的設計理念和工作方式。書中對事件處理、內存管理、對象模型等核心概念的講解,都非常到位,而且通過生動形象的比喻,將這些抽象的概念具象化,讓我這個初學者也能輕鬆理解。我最喜歡的部分是書中關於調試技巧的介紹。我之前調試代碼的時候,總是靠“打印大法”,效率非常低下。這本書詳細講解瞭Qt Creator強大的調試器功能,包括斷點設置、單步執行、變量監視等等,讓我徹底擺脫瞭低效的調試方式,極大地提升瞭解決bug的能力。總而言之,這本書為我打下瞭堅實的Qt編程基礎,讓我對未來的學習和開發充滿瞭信心。
評分中規中矩
評分書挺好的
評分可以啊哈哈哈還好還好拉!!!
評分書籍一般
評分好評
評分不錯啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
評分物流特彆快,早上下單,下午就收到瞭!
評分這是我復製過來的,我自己懶得寫瞭,但這也是我想錶達的意思。我為什麼喜歡在京東買東西,因為今天買明天就可以送到。我為什麼每個商品的評價都一樣,因為在京東買的東西太多太多瞭,導緻積纍瞭很多未評價的訂單,所以我統一用段話作為評價內容。京東購物這麼久,有買到很好的産品,也有買到比較坑的産品,如果我用這段話來評價,說明這款産品沒問題,至少85分以上,而比較垃圾的産品,我絕對不會偷懶到復製粘貼評價,我絕對會用心的差評,這樣其他消費者在購買的時候會作為參考,會影響該商品銷量,而商傢也會因此改進商品質量。
評分速度很快,感覺紙張不是很好,總體還行。好評
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有