本書(shū)詳細(xì)講述了使用更新的Qt版本進(jìn)行圖形用戶(hù)界面應(yīng)用程序開(kāi)發(fā)的各個(gè)方面。全書(shū)分為四個(gè)部分,共24章及4個(gè)附錄:第一部分介紹Qt的基礎(chǔ)知識(shí)和編寫(xiě)圖形用戶(hù)界面應(yīng)用程序時(shí)所需的基本概念;第二和第三部分主要講解Qt的中、高級(jí)編程,包括布局管理、事件處理、二維/三維圖形、拖放、項(xiàng)視圖類(lèi)、容器類(lèi)、輸入/輸出、數(shù)據(jù)庫(kù)、多線程、網(wǎng)絡(luò)、XML、國(guó)際化、嵌入式編程等內(nèi)容;第四部分為附錄,分別介紹了Qt的獲取和安裝、Qt應(yīng)用程序的構(gòu)建、Qt Jambi和C++的基礎(chǔ)知識(shí)。對(duì)于本書(shū)講授的大量Qt 4編程原理和實(shí)踐,都可以輕易將其應(yīng)用于Qt 4.4、Qt 4.5以及后續(xù)版本的Qt程序的開(kāi)發(fā)過(guò)程中。
Mark Summerfield:Qtrac公司的創(chuàng)始人,獨(dú)立的培訓(xùn)講師、顧問(wèn)、技術(shù)編輯,Go、Python、C++、Qt和PyQt方面的技術(shù)作家。Summerfield于1993年畢業(yè)于英國(guó)的威爾士斯旺西大學(xué)計(jì)算機(jī)專(zhuān)業(yè)。在加入Trolltech(奇趣科技)之前的幾年時(shí)間,他在很多公司擔(dān)任軟件工程師的工作。最近幾年,他成為了Trolltech的文檔管理員,負(fù)責(zé)維護(hù)1500多頁(yè)的Qt在線文檔,創(chuàng)立了并負(fù)責(zé)編輯Trolltech的技術(shù)雜志Qt Quarterly。
閆鋒欣,西北農(nóng)林科技大學(xué)教師,主要從事機(jī)械工程設(shè)計(jì)及自動(dòng)控制研究,熟練掌握C/C++語(yǔ)言。出版過(guò)多本譯著!
目 錄
第一部分 Qt基礎(chǔ)
第1章 Qt入門(mén)
1.1 Hello Qt
1.2 建立連接
1.3 窗口部件的布局
1.4 使用參考文檔
第2章 創(chuàng)建對(duì)話框
2.1 子類(lèi)化QDialog
2.2 深入介紹信號(hào)和槽
2.3 快速設(shè)計(jì)對(duì)話框
2.4 改變形狀的對(duì)話框
2.5 動(dòng)態(tài)對(duì)話框
2.6 內(nèi)置的窗口部件類(lèi)和對(duì)話框類(lèi)
第3章 創(chuàng)建主窗口
3.1 子類(lèi)化QMainWindow
3.2 創(chuàng)建菜單和工具欄
3.3 設(shè)置狀態(tài)欄
3.4 實(shí)現(xiàn)File菜單
3.5 使用對(duì)話框
3.6 存儲(chǔ)設(shè)置
3.7 多文檔
3.8 程序啟動(dòng)畫(huà)面
第4章 實(shí)現(xiàn)應(yīng)用程序的功能
4.1 中央窗口部件
4.2 子類(lèi)化QTableWidget
4.3 載入和保存
4.4 實(shí)現(xiàn)Edit菜單
4.5 實(shí)現(xiàn)其他菜單
4.6 子類(lèi)化QTableWidgetItem
第5章 創(chuàng)建自定義窗口部件
5.1 自定義Qt窗口部件
5.2 子類(lèi)化QWidget
5.3 在Qt設(shè)計(jì)師中集成自定義窗口部件
5.4 雙緩沖
第二部分 Qt中級(jí)
第6章 布局管理
6.1 在窗體中擺放窗口部件
6.2 分組布局
6.3 切分窗口
6.4 滾動(dòng)區(qū)域
6.5 ?看翱诤凸ぞ邫
6.6 多文檔界面
第7章 事件處理
7.1 重新實(shí)現(xiàn)事件處理器
7.2 安裝事件過(guò)濾器
7.3 處理密集時(shí)的響應(yīng)保持
第8章 二維圖形
8.1 用QPainter繪圖
8.2 坐標(biāo)系統(tǒng)變換
8.3 用QImage高質(zhì)量繪圖
8.4 基于項(xiàng)的圖形視圖
8.5 打印
第9章 拖放
9.1 使拖放生效
9.2 支持自定義拖動(dòng)類(lèi)型
9.3 剪貼板處理技術(shù)
第10章 項(xiàng)視圖類(lèi)
10.1 使用項(xiàng)視圖的簡(jiǎn)便類(lèi)
10.2 使用預(yù)定義模型
10.3 實(shí)現(xiàn)自定義模型
10.4 實(shí)現(xiàn)自定義委托
第11章 容器類(lèi)
11.1 連續(xù)容器
11.2 關(guān)聯(lián)容器
11.3 通用算法
11.4 字符串、字節(jié)數(shù)組和變量
第12章 輸入與輸出
12.1 讀取和寫(xiě)入二進(jìn)制數(shù)據(jù)
12.2 讀取和寫(xiě)入文本
12.3 遍歷目錄
12.4 嵌入資源
12.5 進(jìn)程間通信
第13章 數(shù)據(jù)庫(kù)
13.1 連接和查詢(xún)
13.2 查看表
13.3 使用窗體編輯記錄
13.4 在表中顯示數(shù)據(jù)
第14章 多線程
14.1 創(chuàng)建線程
14.2 同步線程
14.3 與主線程通信
14.4 在次線程中使用Qt的類(lèi)
第15章 網(wǎng)絡(luò)
15.1 寫(xiě)FTP客戶(hù)端
15.2 寫(xiě)HTTP客戶(hù)端
15.3 寫(xiě)TCP客戶(hù)/服務(wù)器應(yīng)用程序
15.4 發(fā)送和接收UDP數(shù)據(jù)報(bào)
第16章 XML
16.1 使用QXmlStreamReader讀取XML
16.2 用DOM讀取XML
16.3 使用SAX讀取XML
16.4 寫(xiě)入XML
第17章 提供在線幫助
17.1 工具提示、狀態(tài)提示和“Whats This?”幫助
17.2 利用Web瀏覽器提供在線幫助
17.3 將QTextBrowser作為簡(jiǎn)單的幫助引擎
17.4 使用Qt Assistant提供強(qiáng)大的在線幫助
第三部分 Qt高級(jí)
第18章 國(guó)際化
18.1 使用Unicode
18.2 讓?xiě)?yīng)用程序感知翻譯
18.3 動(dòng)態(tài)切換語(yǔ)言
18.4 翻譯應(yīng)用程序
第19章 自定義外觀
19.1 使用Qt樣式表
19.2 子類(lèi)化QStyle
第20章 三維圖形
20.1 使用OpenGL繪圖
20.2 OpenGL和QPainter的結(jié)合
20.3 使用幀緩存對(duì)象生成疊加
第21章 創(chuàng)建插件
21.1 利用插件擴(kuò)展Qt
21.2 使應(yīng)用程序感知插件
21.3 編寫(xiě)應(yīng)用程序的插件
第22章 應(yīng)用程序腳本
22.1 ECMAScript語(yǔ)言概述
22.2 使用腳本擴(kuò)展Qt應(yīng)用程序
22.3 使用腳本實(shí)現(xiàn)GUI擴(kuò)展
22.4 使用腳本自動(dòng)化處理任務(wù)
第23章 平臺(tái)相關(guān)特性
23.1 連接本地的應(yīng)用程序編程接口
23.2 在Windows上使用ActiveX
23.3 處理X11會(huì)話管理
第24章 嵌入式編程
24.1 從Qt/Embedded Linux開(kāi)始
24.2 自定義Qt/Embedded Linux
24.3 Qt應(yīng)用程序與Qtopia的集成
24.4 使用Qtopia的API
第四部分 附錄
附錄A Qt的獲取和安裝
A.1 協(xié)議說(shuō)明
A.2 Qt/Windows的安裝
A.3 Qt/Mac的安裝
A.4 Qt/X11的安裝
附錄B 編譯Qt應(yīng)用程序
B.1 使用qmake
B.2 使用第三方編譯工具
附錄C Qt Jambi簡(jiǎn)介
C.1 Qt Jambi入門(mén)
C.2 在Eclipse IDE中使用Qt Jambi
C.3 在Qt Jambi中集成C++組件
附錄D 面向Java和C#程序員的C++簡(jiǎn)介
D.1 C++入門(mén)
D.2 主要語(yǔ)言之間的差異
D.3 C++標(biāo)準(zhǔn)庫(kù)