初 級 篇
第1章 qt初步實踐 2
1.1 第一個qt程序 2
1.1.1 建立主程序 2
1.1.2 建立工程 3
1.1.3 編譯/運行第一個qt應用程序 8
1.1.4 第一個qt程序的代碼分析 9
1.2 使用qt布局管理器 11
1.3 關聯操作 12
1.4 小結 13
第2章 對話框—— qdialog 14
2.1 自定義對話框 14
2.1.1 建立新類 14
2.1.2 添加子窗口部件 16
2.2 加入主程序 22
2.3 qt內建(built-in)對話框 25
2.4 小結 35
第3章 基礎窗口部件—— qwidget 36
3.1 qt設計器繪製窗口部件 36
3.1.1 qt設計器基礎 36
.3.1.2 繪製窗口部件 41
3.2 程序中引入自定義窗口部件 49
3.2.1 直接使用方式 49
3.2.2 單一繼承方式 51
3.2.3 多繼承方式 54
3.3 qt的信號和槽機製 55
3.3.1 基本原理 55
3.3.2 設計信號和槽 58
3.3.3 信號和槽的自動關聯 66
3.4 窗口標誌及幾何布局 66
3.4.1 窗口標誌 67
3.4.2 窗口部件的幾何布局 69
3.5 qt對象模型 77
3.5.1 元對象係統 78
3.5.2 屬性係統 79
3.5.3 對象樹 82
3.6 隱式共享 85
3.7 小結 86
第4章 程序主窗口——qmainwindow 87
4.1 qmainwindow主窗口框架 87
4.2 qt設計器繪製主窗口 88
4.2.1 菜單 91
4.2.2 工具欄 94
4.2.3 中心部件 97
4.3 代碼創建主窗口 99
4.3.1 創建資源文件 99
4.3.2 定義主窗口類 99
4.4 錨接部件 104
4.5 狀態欄 107
4.6 實現文本編輯器功能 109
4.7 多文檔 120
4.8 打印文檔 122
4.9 小結 123
第5章 布局管理 124
5.1 qt布局管理器——qlayout 124
5.1.1 qt布局管理器簡介 124
5.1.2 布局管理器及窗口部件大小
策略的應用 128
5.2 分裂器部件qsplitter 137
5.3 棧部件qstackedwidget 138
5.4 工作空間部件qworkspace 139
5.5 多文檔區部件qmdiarea 153
5.6 小結 155
中 級 篇
第6章 2d繪圖 158
6.1 arthur繪圖基礎 158
6.1.1 繪圖 158
6.1.2 繪圖設備 182
6.2 坐標係統與坐標變換 183
6.2.1 坐標係統 183
6.2.2 坐標變換 183
6.3 用不同的字體 184
6.4 繪圖路徑——qpainterpath 188
6.5 qimage與qpixmap繪圖設備 190
6.5.1 qimage 190
6.5.2 pixmap 192
6.6 組閤模式繪圖 201
6.7 小結 210
第7章 graphics view框架 211
7.1 graphics view概述 211
7.1.1 graphics view體係結構 211
7.1.2 graphics view坐標係統 212
7.1.3 深入graphics view 213
7.2 圖形效果 221
7.3 圖形圖像打印 222
7.3.1 普通打印過程 222
7.3.2 特殊窗口部件的打印 223
7.4 小結 224
第8章 拖放操作和剪貼闆 225
8.1 拖放操作 225
8.1.1 拖放操作 225
8.1.2 定義新的拖放操作類型 228
8.1.3 graphics view框架下的拖放操作 228
8.2 使用剪貼闆 230
8.3 小結 231
第9章 文件處理 232
9.1 讀寫文本文件 232
9.2 操作二進製文件 234
9.3 臨時文件 236
9.4 目錄操作和文件管理 236
9.4.1 目錄操作 236
9.4.2 文件管理 238
9.5 監視文件係統變化 238
9.6 文件引擎 240
9.7 小結 240
第10章 網絡 241
10.1 ftp客戶端 241
10.2 http客戶端 250
10.3 udp應用 254
10.4 tcp應用 258
10.5 高級應用 269
10.5.1 底層操作 269
10.5.2 使用代理 272
10.5.3 擴展qt網絡功能 272
10.5.4 效率問題 276
10.6 小結 277
第11章 多綫程 278
11.1 啓動一個綫程 278
11.2 綫程互斥與同步 282
11.2.1 臨界區問題 282
11.2.2 使用qmutex 283
11.2.3 使用qsemaphore 284
11.2.4 使用qwaitconditon 286
11.3 綫程的其他問題 289
11.3.1 優先級問題 289
11.3.2 死鎖及優先級反轉問題 292
11.3.3 本地存儲問題 294
11.4 qt的綫程機製 295
11.4.1 可重入與綫程安全 295
11.4.2 綫程與事件循環 296
11.4.3 綫程與信號/槽機製 297
11.4.4 多綫程網絡示例 298
11.5 並行計算 302
11.5.1 利用qtconcurrent啓動綫程 302
11.5.2 圖片瀏覽器示例 303
11.6 小結 307
第12章 事件處理 308
12.1 事件機製 308
12.1.1 事件來源與類型 308
12.1.2 事件處理方法 309
12.2 事件處理器 310
12.3 事件過濾器 315
12.4 加快用戶界麵響應 318
12.4.1 使用processevents()函數 318
12.4.2 使用定時器 320
12.5 小結 322
第13章 數據庫 323
13.1 連接數據庫 323
13.2 常用數據庫操作 328
13.2.1 使用sql語句 328
13.2.2 事務操作 330
13.2.3 使用sql模型類 331
13.2.4 數據錶示 335
13.3 qt數據庫應用 337
13.3.1 使用嵌入式數據庫 337
13.3.2 使用oracle數據庫 340
13.4 小結 352
高 級 篇
第14章 界麵風格 354
14.1 使用qt風格 354
14.2 簡單自定義風格 355
14.2.1 界麵設計 355
14.2.2 自定義界麵外觀 356
14.2.3 換膚 372
14.3 qt風格原理 376
14.3.1 風格元素 377
14.3.2 風格選項 381
14.3.3 風格函數 383
14.3.4 風格調色闆 384
14.3.5 風格繪製過程 386
14.4 高級自定義風格 390
14.5 qt樣式錶 407
14.5.1 樣式錶語法 407
14.5.2 樣式錶的應用 409
14.6 小結 412
第15章 xml 413
15.1 dom 413
15.1.1 dom入門 413
15.1.2 使用dom 414
15.1.3 使用dom寫xml文件 417
15.2 sax 420
15.3 基於流的xml api 425
15.4 qtxmlpatterns模塊 431
15.4.1 xslt 431
15.4.2 xquery 433
15.4.3 xml schema 437
15.5 小結 442
第16章 模型/視圖結構 443
16.1 模型/視圖結構與mvc設計模式 443
16.1.1 模型 444
16.1.2 視圖 444
16.1.3 代理 445
16.2 使用已有的模型視圖類 445
16.2.1 使用已有的模型和視圖類 445
16.2.2 qlistwidget、qtreewidget和qtablewidget 447
16.3 模型(models) 459
16.3.1 模型索引 459
16.3.2 模型角色 460
16.3.3 自定義模型 461
16.3.4 代理模型 464
16.4 視圖(views) 469
16.4.1 自定義視圖 469
16.4.2 數據-窗口部件映射 469
16.5 代理(delegates) 475
16.5.1 使用已有的代理 475
16.5.2 自定義代理 475
16.6 拖放與選中 481
16.6.1 拖放操作 481
16.6.2 選中模式 484
16.7 小結 485
第17章 高級繪圖 486
17.1 3d繪圖——使用opengl 486
17.1.1 創建opengl窗口 486
17.1.2 著色 490
17.1.3 3d和鏇轉 491
17.1.4 紋理貼圖 495
17.2 svg 498
17.2.1 繪製svg圖形 498
17.2.2 生成svg文件 500
17.3 小結 501
第18章 進程與進程間通信 502
18.1 使用qprocess 502
18.2 linux進程間通信 505
18.3 共享內存與本地socket 506
18.4 新型進程間通信——d-bus 512
18.4.1 d-bus簡介 513
18.4.2 接口與適配器 514
18.4.3 qtdbus應用實例 517
18.5 小結 527
第19章 qt插件 528
19.1 qt插件開發基礎 528
19.2 qt設計器插件 529
19.2.1 使用scratchpad 529
19.2.2 提升自定義窗口部件 530
19.2.3 qt設計器插件開發 531
19.3 編寫數據庫插件 538
19.4 自定義風格插件 542
19.5 小結 545
第20章 腳本——qtscript 546
20.1 執行ecmascript腳本 546
20.2 qtscript中的信號和槽 547
20.3 使用javascript操作qt對象 550
20.4 基於prototype的繼承 554
20.5 qtscript調試器 555
20.6 小結 556
第21章 國際化 557
21.1 unicode與字符編碼 557
21.1.1 unicode 557
21.1.2 漢字編碼 558
21.1.3 編碼轉換 558
21.2 qt linguist 561
21.2.1 發布管理器 561
21.2.2 翻譯器 563
21.2.3 加載翻譯文件 566
21.3 語言切換 566
21.4 小結 567
第22章 qt單元測試框架 568
22.1 qtestlib框架 568
22.1.1 qtestlib 568
22.1.2 第一個qt單元測試 569
22.2 數據驅動測試 570
22.3 gui測試 572
22.3.1 仿真gui事件 572
22.3.2 重放gui事件 573
22.4 基準測試 574
22.5 小結 575
第23章 動畫與狀態機框架 576
23.1 動畫框架 576
23.2 狀態機框架 578
23.3 實例分析 582
23.4 小結 594
第24章 webkit與多媒體 595
24.1 webkit 595
24.1.1 基於webkit的瀏覽器 595
24.1.2 添加openssl支持 596
24.1.3 qt webkit編程 597
24.2 phonon多媒體框架 597
24.2.1 phonon體係結構 597
24.2.2 phonon媒體播放器 600
24.3 小結 606
第25章 嵌入式qt 607
25.1 windows mobile平颱 607
25.1.1 windows mobile平颱qt應用開發流程 607
25.1.2 部署qt應用程序 611
25.1.3 使用移動電話仿真器 613
25.2 嵌入式linux平颱 614
25.2.1 嵌入式linux平颱qt體係結構 614
25.2.2 開發環境配置 616
25.3 嵌入式qt的裁剪 618
25.4 小結 618
附錄a qt安裝 619
附錄b qt集成開發環境 624
附錄c qmake速查 631
附錄d qt資源 636
· · · · · · (
收起)