本书是基于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
猜您喜欢
评论