基本应用篇 2
第1章 Qt Creator简介 2
1.1 Qt Creator的下载与安装 2
1.1.1下载软件 2
1.1.2安装软件 3
1.2 Qt Creator环境介绍 3
1.2.1运行一个示例程序 6
1.2.2帮助模式 10
1.3 Qt工具简介 12
1.3.1 Qt Assistant(Qt助手) 12
1.3.2 Qt Designer(Qt设计师) 12
1.3.3 Qt Examples and Demos(Qt演示程序与示例) 13
1.3.4 Qt Linguist(Qt语言家) 13
1.4小结 13
第2章 Hello World 14
2.1编写Hello World程序 14
2.1.1新建Qt Gui应用 14
2.1.2文件说明与界面设计 17
2.2程序的运行与发布 19
2.2.1程序的运行 19
2.2.2程序的发布 21
2.2.3设置应用程序图标 22
2.3 helloworld程序源码与编译过程详解 24
2.3.1纯代码编写程序与命令行编译 25
2.3.2使用.ui文件 30
2.3.3自定义C++++类 35
2.3.4使用Qt设计师界面类 37
2.4项目模式和项目文件介绍 38
2.4.1项目模式 38
2.4.2项目文件 38
2.4.3关于本书源码的使用 40
2.5小结 40
第3章 窗口部件 41
3.1基础窗口部件QWidget 42
3.1.1窗口、子部件以及窗口类型 42
3.1.2窗口几何布局 45
3.1.3程序调试 45
3.2对话框QDialog 49
3.2.1模态和非模态对话框 49
3.2.2多窗口切换 51
3.2.3标准对话框 55
3.3其他窗口部件 62
3.3.1 QFrame类族 62
3.3.2按钮部件 66
3.3.3行编辑器 67
3.3.4数值设定框 69
3.3.5滑块部件 70
3.4小结 71
第4章 布局管理 72
4.1布局管理系统 72
4.1.1布局管理器 73
4.1.2设置部件大小 76
4.1.3可扩展窗口 79
4.1.4分裂器 80
4.2设置伙伴 81
4.3设置Tab键顺序 82
4.4小结 82
第5章 应用程序主窗口 83
5.1主窗口框架 83
5.1.1菜单栏和工具栏 84
5.1.2中心部件 89
5.1.3 Dock部件 90
5.1.4状态栏 91
5.1.5自定义菜单 91
5.2富文本处理 94
5.2.1富文本文档结构 94
5.2.2文本块 96
5.2.3表格、列表与图片 99
5.2.4查找功能 100
5.2.5语法高亮与HTML 102
5.3拖放操作 104
5.3.1使用拖放打开文件 104
5.3.2自定义拖放操作 105
5.4打印文档 109
5.5小结 111
第6章 事件系统 112
6.1 Qt中的事件 112
6.1.1事件的处理 113
6.1.2事件的传递 113
6.2鼠标事件和滚轮事件 116
6.3键盘事件 119
6.4定时器事件与随机数 122
6.5事件过滤器与事件的发送 125
6.6小结 127
第7章 Qt对象模型与容器类 128
7.1对象模型 128
7.1.1信号和槽 129
7.1.2属性系统 134
7.1.3对象树与拥有权 137
7.1.4元对象系统 139
7.2容器类 140
7.2.1 Qt的容器类简介 140
7.2.2遍历容器 145
7.2.3通用算法 152
7.2.4 QString 154
7.2.5 QByteArray和QVariant 159
7.3正则表达式 161
7.3.1正则表达式简介 162
7.3.2正则表达式组成元素 164
7.3.3文本捕获 167
7.4小结 168
第8章 界面外观 169
8.1 Qt风格 169
8.1.1使用不同风格预览程序 170
8.1.2使用不同风格运行程序 170
8.1.3调色板 171
8.2 Qt样式表 172
8.2.1概述 172
8.2.2 Qt样式表语法 174
8.2.3自定义部件外观与换肤 176
8.3特殊效果窗体 180
8.3.1不规则窗体 180
8.3.2透明窗体 181
8.4小结 183
第9章 国际化、帮助系统和Qt插件 184
9.1国际化 184
9.1.1使用Qt Linguist翻译应用程序 185
9.1.2程序翻译中的相关问题 190
9.2帮助系统 192
9.2.1简单的帮助提示 193
9.2.2定制Qt Assistant 193
9.3创建Qt插件 201
9.3.1在设计模式提升窗口部件 201
9.3.2创建应用程序插件 202
9.3.3创建Qt Designer自定义部件 206
9.4小结 208
图形动画篇 210
第10章 2D绘图 210
10.1基本绘制和填充 210
10.1.1基本图形的绘制和填充 210
10.1.2渐变填充 215
10.2坐标系统 218
10.2.1抗锯齿渲染 218
10.2.2坐标变换 221
10.3其他绘制 228
10.3.1绘制文字 228
10.3.2绘制路径 230
10.3.3绘制图像 232
10.3.4复合模式 238
10.4双缓冲绘图 239
10.5绘图中的其他问题 242
10.5.1重绘事件 242
10.5.2剪切 243
10.5.3读取和写入图像 243
10.5.4播放gif动画 243
10.5.5渲染SVG文件 243
10.6小结 244
第11章 图形视图、动画和状态机框架 245
11.1图形视图框架的结构 245
11.1.1场景 246
11.1.2视图 247
11.1.3图形项 249
11.2图形视图框架的坐标系统和事件处理 251
11.2.1坐标系统 251
11.2.2事件处理与传播 256
11.3图形视图框架的其他特性 260
11.3.1图形效果 260
11.3.2动画、碰撞检测和图形项组 262
11.3.3打印和使用OpenGL进行渲染 265
11.3.4窗口部件、布局和内嵌部件 266
11.4动画框架 268
11.4.1实现属性动画 269
11.4.2使用缓和曲线 270
11.4.3动画组 270
11.4.4在图形视图框架中使用动画 272
11.5状态机框架 274
11.5.1创建状态机 274
11.5.2在状态机中使用动画 276
11.5.3状态机框架的其他特性 277
11.6小结 284
第12章 3D绘图 285
12.1使用OpenGL绘制图形 285
12.2设置颜色 288
12.3实现3D图形 288
12.4使用纹理贴图 290
12.5在3D场景中绘制2D图形 292
12.6小结 294
影音媒体篇 296
第13章 Qt多媒体应用 296
13.1使用QSound播放声音 296
13.2使用QMovie播放动画 298
13.3多媒体的底层控制 301
13.4小结 305
第14章 Phonon多媒体框架 306
14.1 Phonon多媒体框架的架构 306
14.1.1 Phonon媒体图中的节点 307
14.1.2播放后端 308
14.2播放音频 308
14.2.1实现简单的音频播放 308
14.2.2创建音频流媒体图 309
14.2.3使用音频效果 309
14.3播放视频 310
14.3.1实现简单的视频播放 310
14.3.2创建播放视频的媒体图 311
14.3.3控制视频播放 311
14.4小结 317
数据处理篇 319
第15章 文件、目录和输入/输出 319
15.1文件和目录 319
15.1.1输入/输出设备 319
15.1.2文件操作 320
15.1.3目录操作 323
15.2文本流和数据流 326
15.2.1使用文本流读/写文本文件 326
15.2.2使用数据流读/写二进制数据 327
15.3其他相关类 330
15.3.1应用程序设置 330
15.3.2统一资源定位符 330
15.3.3 Qt资源 331
15.3.4缓冲区 331
15.4小结 332
第16章 模型/视图编程 333
16.1模型/视图架构 333
16.1.1组成部分 334
16.1.2简单的例子 335
16.2模型类 336
16.2.1基本概念 336
16.2.2创建新的模型 340
16.3视图类 346
16.3.1基本概念 346
16.3.2处理项目选择 347
16.4委托类 352
16.4.1基本概念 352
16.4.2自定义委托 353
16.5项目视图的便捷类 355
16.5.1 QListWidget 356
16.5.2 QTreeWidget 357
16.5.3 QTableWidget 358
16.5.4共同特性 359
16.6在项目视图中启用拖放 359
16.6.1在便捷类中启用拖放 359
16.6.2在模型/视图类中启用拖放 361
16.7其他内容 364
16.7.1代理模型 364
16.7.2数据-窗口映射器 365
16.8小结 367
第17章 数据库和XML 368
17.1数据库 368
17.1.1连接到数据库 369
17.1.2执行SQL语句 374
17.1.3使用SQL模型类 378
17.2 XML 385
17.2.1 DOM 386
17.2.2 SAX 396
17.2.3 XML流 399
17.3小结 403
网络通信篇 405
第18章 网络编程 405
18.1 HTTP 405
18.2 FTP 409
18.3获取网络接口信息 417
18.4 UDP 420
18.5 TCP 423
18.6小结 437
第19章 进程和线程 438
19.1进程 438
19.1.1运行一个进程 438
19.1.2进程间通信 441
19.2线程 445
19.2.1使用QThread启动线程 445
19.2.2同步线程 449
19.2.3可重入与线程安全 452
19.2.4线程和QObject 454
19.3小结 456
第20章 WebKit 457
20.1 QtWebKit模块 457
20.2基于QtWebKit的网页浏览器 458
20.2.1显示一个网页 458
20.2.2显示网站图标 461
20.2.3显示历史记录 463
20.2.4链接跳转和查找功能 465
20.3小结 466
附录 Qt Creator键盘快捷键速查表 467
参考文献 470