第一部分 Qt基础 2
第1章 Qt入门 2
1.1 Hello Qt 2
1.2 建立连接 4
1.3 窗口部件的布局 4
1.4 使用参考文档 7
第2章 创建对话框 10
2.1 子类化QDialog 10
2.2 深入介绍信号和槽 15
2.3 快速设计对话框 17
2.4 改变形状的对话框 23
2.5 动态对话框 29
2.6 内置的窗口部件类和对话框类 30
第3章 创建主窗口 35
3.1 子类化QMainWindow 35
3.2 创建菜单和工具栏 39
3.3 设置状态栏 43
3.4 实现File菜单 44
3.5 使用对话框 49
3.6 存储设置 54
3.7 多文档 55
3.8 程序启动画面 57
第4章 实现应用程序的功能 59
4.1 中央窗口部件 59
4.2 子类化QTableWidget 60
4.3 载入和保存 64
4.4 实现Edit菜单 66
4.5 实现其他菜单 70
4.6 子类化QTableWidgetItem 73
第5章 创建自定义窗口部件 80
5.1 自定义Qt窗口部件 80
5.2 子类化QWidget 81
5.3 在Qt设计师中集成自定义窗口部件 89
5.4 双缓冲 92
第二部分 Qt中级 108
第6章 布局管理 108
6.1 在窗体中摆放窗口部件 108
6.2 分组布局 113
6.3 切分窗口 114
6.4 滚动区域 117
6.5 停靠窗口和工具栏 118
6.6 多文档界面 121
第7章 事件处理 129
7.1 重新实现事件处理器 129
7.2 安装事件过滤器 133
7.3 处理密集时的响应保持 135
第8章 二维图形 138
8.1 用QPainter绘图 138
8.2 坐标系统变换 142
8.3 用QImage高质量绘图 148
8.4 基于项的图形视图 150
8.5 打印 166
第9章 拖放 173
9.1 使拖放生效 173
9.2 支持自定义拖动类型 177
9.3 剪贴板处理技术 181
第10章 项视图类 182
10.1 使用项视图的简便类 183
10.2 使用预定义模型 187
10.3 实现自定义模型 191
10.4 实现自定义委托 203
第11章 容器类 207
11.1 连续容器 207
11.2 关联容器 213
11.3 通用算法 216
11.4 字符串、字节数组和变量 217
第12章 输入与输出 223
12.1 读取和写入二进制数据 223
12.2 读取和写入文本 228
12.3 遍历目录 232
12.4 嵌入资源 233
12.5 进程间通信 234
第13章 数据库 238
13.1 连接和查询 238
13.2 查看表 243
13.3 使用窗体编辑记录 245
13.4 在表中显示数据 249
第14章 多线程 255
14.1 创建线程 255
14.2 同步线程 258
14.3 与主线程通信 263
14.4 在次线程中使用Qt的类 268
第15章 网络 270
15.1 写FTP客户端 270
15.2 写HTTP客户端 277
15.3 写TCP客户/服务器应用程序 279
15.4 发送和接收UDP数据报 287
第16章 XML 291
16.1 使用QXmlStreamReader读取XML 291
16.2 用DOM读取XML 297
16.3 使用SAX读取XML 300
16.4 写入XML 304
第17章 提供在线帮助 306
17.1 工具提示、状态提示和“What's This?”帮助 306
17.2 利用Web浏览器提供在线帮助 307
17.3 将QTextBrowser作为简单的帮助引擎 309
17.4 使用Qt Assistant提供强大的在线帮助 311
第三部分 Qt高级 314
第18章 国际化 314
18.1 使用Unicode 314
18.2 让应用程序感知翻译 317
18.3 动态切换语言 322
18.4 翻译应用程序 326
第19章 自定义外观 329
19.1 使用Qt样式表 329
19.2 子类化QStyle 340
第20章 三维图形 352
20.1 使用OpenGL绘图 352
20.2 OpenGL和Q?ainter的结合 356
20.3 使用帧缓存对象生成叠加 361
第21章 创建插件 366
21.1 利用插件扩展Qt 366
21.2 使应用程序感知插件 374
21.3 编写应用程序的插件 377
第22章 应用程序脚本 379
22.1 ECMAScript语言概述 379
22.2 使用脚本扩展Qt应用程序 386
22.3 使用脚本实现GUI扩展 389
22.4 使用脚本自动化处理任务 394
第23章 平台相关特性 403
23.1 连接本地的应用程序编程接口 403
23.2 在Windows上使用ActiveX 406
23.3 处理X11会话管理 416
第24章 嵌入式编程 421
24.1 从Qt/Embedded Linux开始 421
24.2 自定义Qt/Embedded Linux 423
24.3 Qt应用程序与Qtopia的集成 424
24.4 使用Qtopia的API 427
第四部分 附录 436
附录A Qt的获取和安装 436
A.1 协议说明 436
A.2 Qt/Windows的安装 436
A.3 Qt/Mac的安装 437
A.4 Qt/X11的安装 437
附录B 编译Qt应用程序 439
B.1 使用qmake 439
B.2 使用第三方编译工具 443
附录C QtJambi简介 447
C.1 QtJambi入门 447
C.2 在Eclipse IDE中使用Qt Jambi 451
C.3 在QtJambi中集成C++组件 455
附录D 面向Java和C#程序员的C++简介 461
D.1 C++入门 461
D.2 主要语言之间的差异 465
D.3 C++标准库 489