QtCreator快速入门查看源代码讨论查看历史
《QtCreator快速入门》,霍亚飞 著,出版社: 北京航空航天大学出版社。
随着科学技术日新月异地发展,传播知识信息手段[1],除了书籍、报刊外,其他工具也逐渐产生和发展起来。但书籍的作用,是其他传播工具或手段所不能代替的。在当代,无论是中国,还是其他国家,书籍仍然是促进社会政治、经济、文化发展必不可少的重要传播工具[2]。
内容简介
本书是基于Qt Creator集成开发环境的入门书籍,讲解了经典的桌面端C++ Widgets编程和Qt Creator开发环境的使用。本书内容主要包括Qt的基本应用,以及Qt在图形动画、影音媒体、数据处理和网络通信方面的应用内容。与第3版相比,本书使用Qt 6.2.3和Qt Creator 6.0.2进行了全书修订,主要添加了第18章Qt图表和数据可视化内容,重写了第7章正则表达式部分和第13、14章多媒体应用的大部分内容。
目录
第1篇基本应用篇
第1章Qt Creator简介2
1.1软件的下载与安装2
1.2Qt Creator环境介绍3
1.2.1运行一个示例程序6
1.2.2帮助模式8
1.3Qt工具简介10
1.3.1Qt Assistant(Qt助手)10
1.3.2Qt Designer(Qt设计师)10
1.3.3Qt Linguist(Qt语言家)11
1.4关于本书源码的使用11
1.5小结11
第2章Hello World1
2.1编写Hello World程序13
2.1.1新建Qt Widgets应用13
2.1.2文件说明与界面设计15
2.2程序的运行与发布17
2.2.1程序的运行17
2.2.2程序的发布2
2.2.3设置应用程序图标21
2.3项目模式和项目文件介绍22
2.3.1项目模式22
2.3.2项目文件22
2.4helloworld程序源码与编译过程详解23
2.4.1在Qt Creator中使用纯代码编写并编译运行程序24
2.4.2使用其他编辑器纯代码编写程序并在命令行编译运行程序27
2.4.3使用.ui文件来生成界面30
2.4.4自定义C++ 窗口类33
2.4.5使用现成的Qt设计师界面类36
2.5小结37
第3章窗口部件38
3.1基础窗口部件QWidget38
3.1.1窗口、子部件以及窗口类型39
3.1.2窗口几何布局41
3.1.3程序调试42
3.2对话框QDialog45
3.2.1模态和非模态对话框45
3.2.2初识信号和槽并实现多窗口切换47
3.2.3标准对话框51
3.3其他窗口部件57
3.3.1QFrame类族57
3.3.2按钮部件60
3.3.3QLineEdit62
3.3.4QAbstractSpinBox64
3.3.5QAbstractSlider65
3.4小结66
第4章布局管理67
4.1布局管理系统67
4.1.1布局管理器简介68
4.1.2基本布局管理器68
4.1.3栅格布局管理器69
4.1.4窗体布局管理器70
4.1.5综合使用布局管理器70
4.1.6设置部件大小71
4.1.7可扩展窗口74
4.1.8拆分器74
4.2设置伙伴75
4.3设置Tab键顺序75
4.4Qt Creator中的定位器76
4.5小结77
第5章应用程序主窗口78
5.1主窗口框架78
5.1.1Qt资源系统、菜单栏和工具栏79
5.1.2中心部件84
5.1.3Dock部件85
5.1.4状态栏85
5.1.5自定义菜单86
5.2富文本处理89
5.2.1富文本文档结构89
5.2.2文本块90
5.2.3表格、列表与图片93
5.2.4查找功能94
5.2.5语法高亮与HTML96
5.3拖放操作97
5.3.1使用拖放打开文件98
5.3.2自定义拖放操作99
5.4打印文档102
5.5小结104
第6章事件系统105
6.1Qt中的事件105
6.1.1事件的处理106
6.1.2事件的传递106
6.2鼠标事件和滚轮事件109
6.3键盘事件112
6.4定时器事件与随机数115
6.5事件过滤器与事件的发送117
6.6小结119
第7章Qt对象模型与容器类120
7.1对象模型120
7.2信号和槽121
7.2.1信号和槽概述121
7.2.2信号和槽典型应用示例122
7.2.3信号和槽的关联123
7.2.4信号和槽的自动关联126
7.2.5信号和槽断开关联127
7.2.6信号和槽的高级应用128
7.3属性系统128
7.4对象树与拥有权131
7.5元对象系统134
7.6容器类135
7.6.1Qt的容器类135
7.6.2遍历容器139
7.6.3常用的STL算法145
7.6.4QString147
7.6.5QByteArray和QVariant151
7.6.6隐式共享153
7.7正则表达式154
7.7.1正则表达式语法简介155
7.7.2正常匹配和文本捕获161
7.7.3全局匹配163
7.7.4部分匹配164
7.7.5通配符匹配167
7.8小结168
第8章界面外观169
8.1Qt风格169
8.2Qt调色板170
8.3Qt样式表172
8.3.1使用代码设置样式表172
8.3.2在设计模式中设置样式表173
8.4Qt样式表语法174
8.5自定义部件外观与换肤176
8.5.1盒子模型176
8.5.2自定义部件外观177
8.5.3实现换肤功能178
8.6特殊效果窗体179
8.6.1不规则窗体179
8.6.2透明窗体181
8.7小结183
第9章国际化、帮助系统和Qt插件184
9.1国际化184
9.1.1使用Qt Linguist翻译应用程序184
9.1.2使用Qt Creator自动生成翻译文件189
9.1.3程序翻译中的相关问题190
9.2帮助系统192
9.2.1简单的帮助提示192
9.2.2定制Qt Assistant193
9.3创建Qt插件200
9.3.1在设计模式提升窗口部件200
9.3.2创建应用程序插件201
9.3.3创建Qt Designer自定义部件205
9.4小结206
第2篇图形动画篇
第10章2D绘图208
10.1基本图形的绘制和填充208
10.1.1绘制图形208
10.1.2使用画笔210
10.1.3使用画刷211
10.2渐变填充214
10.3坐标系统216
10.3.1抗锯齿渲染216
10.3.2坐标变换219
10.4绘制文字225
10.5绘制路径226
10.5.1组成一个路径226
10.5.2填充规则227
10.6绘制图像229
10.6.1QImage230
10.6.2QPixmap231
10.6.3QPicture233
10.7复合模式234
10.8双缓冲绘图235
10.9绘图中的其他问题237
10.10小结239
第11章图形视图、动画和状态机框架240
11.1图形视图框架的结构240
11.1.1场景241
11.1.2视图242
11.1.3图形项243
11.2图形视图框架的坐标系统和事件处理245
11.2.1坐标系统245
11.2.2事件处理与传播250
11.3图形视图框架的其他特性255
11.3.1图形效果255
11.3.2动画、碰撞检测和图形项组256
11.3.3打印和使用OpenGL进行渲染259
11.3.4图形部件、布局和内嵌部件260
11.4动画框架261
11.4.1实现属性动画262
11.4.2使用缓和曲线263
11.4.3动画组264
11.4.4在图形视图框架中使用动画265
11.5状态机框架267
11.5.1创建状态机267
11.5.2在状态机中使用动画269
11.5.3状态机框架的其他特性270
11.6小结277
第12章3D绘图278
12.1使用OpenGL绘制图形278
12.2绘制多边形282
12.2.1使用顶点数组282
12.2.2使用缓存283
12.3绘制彩色3D图形284
12.3.1为图形设置顶点颜色284
12.3.2实现3D效果285
12.4使用纹理贴图287
12.5小结290
第3篇影音媒体篇
第13章音视频播放292
13.1播放音频293
13.1.1播放压缩音频293
13.1.2低延迟声音效果293
13.2播放视频295
13.2.1播放视频文件295
13.2.2使用QMovie播放GIF文件297
13.3QMediaPlayer299
13.3.1播放状态301
13.3.2获取媒体元数据304
13.4小结305
第14章相机和音频录制306
14.1使用相机306
14.1.1相机QCamera306
14.1.2使用相机进行拍照307
14.1.3使用相机进行视频录制308
14.1.4对相机进行设置310
14.2录制音频311
14.3小结314
第4篇数据处理篇
第15章文件、目录和输入/输出316
15.1输入/输出设备316
15.2文件操作317
15.3目录操作320
15.4文本流和数据流323
15.4.1使用文本流读/写文本文件323
15.4.2使用数据流读/写二进制数据324
15.5其他相关类326
15.6小结328
第16章模型/视图编程329
16.1模型/视图架构329
16.1.1组成部分330
16.1.2简单的例子331
16.2模型类332
16.2.1基本概念332
16.2.2创建新的模型336
16.3视图类340
16.3.1基本概念340
16.3.2处理项目选择341
16.4委托类346
16.4.1基本概念346
16.4.2自定义委托346
16.5项目视图的便捷类349
16.5.1QListWidget349
16.5.2QTreeWidget350
16.5.3QTableWidget351
16.5.4共同特性351
16.6在项目视图中启用拖放352
16.6.1在便捷类中启用拖放352
16.6.2在模型/视图类中启用拖放353
16.7其他内容356
16.7.1代理模型356
16.7.2数据窗口映射器357
16.8小结358
第17章数据库和XML359
17.1数据库简介359
17.2连接数据库360
17.2.1SQL数据库驱动360
17.2.2创建数据库连接361
17.3执行SQL语句364
17.4使用SQL模型类368
17.4.1SQL查询模型368
17.4.2SQL表格模型370
17.4.3SQL关系表格模型373
17.5XML374
17.5.1使用DOM读取XML文档374
17.5.2使用DOM创建和操作XML文档377
17.5.3XML流382
17.6小结385
第18章Qt图表和数据可视化386
18.1Qt图表(Qt Charts)386
18.1.1Qt图表示例386
18.1.2坐标轴390
18.1.3使用外部数据动态创建图表394
18.2Qt数据可视化397
18.2.13D柱形图示例398
18.2.2项目模型和数据映射403
18.2.33D散点图和3D曲面图示例405
18.3小结406
第5篇网络通信篇
第19章网络编程408
19.1网络访问API408
19.1.1网络访问API相关类408
19.1.2HTTP通信程序示例409
19.2获取网络接口信息412
19.2.1QHostInfo进行主机名查找412
19.2.2QNetworkInterface获取本机网络接口信息414
19.2.3QDnsLookup进行DNS查询415
19.3UDP416
19.3.1UDP简介416
19.3.2UDP广播程序示例416
19.4TCP418
19.4.1TCP简介418
19.4.2TCP传输字符串示例419
19.4.3TCP传输文件示例423
19.5小结430
第20章进程和线程431
20.1进程431
20.1.1运行一个进程431
20.1.2进程间通信434
20.2线程437
20.2.1使用QThread启动线程438
20.2.2同步线程442
20.2.3可重入与线程安全445
20.2.4线程和QObject447
20.3小结449
第21章Qt WebEngine450
21.1Qt WebEngine架构450
21.2基于Qt WebEngine Widgets的网页浏览器451
21.2.1显示一个网页452
21.2.2网站图标和网页缩放454
21.2.3显示历史记录456
21.2.4查找功能和多窗口显示457
21.3小结459
附录A安装MSVC版本Qt460
A.1安装MSVC版本Qt460
A.2下载并安装VS 2019461
A.3使用新套件构建程序461
附录BQt Creator键盘快捷键速查463
参考文献466
参考文献
- ↑ 涨知识:古人用什么方法传递信息?,搜狐,2017-04-03
- ↑ 书究竟有何用?,搜狐,2017-07-18