- ISBN:9787115637703
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:340
- 出版时间:2024-08-01
- 条形码:9787115637703 ; 978-7-115-63770-3
本书特色
1.让读者事半功倍快速入门Qt:基于Qt 6版本编写,实例教学,Qt Widgets和Qt Quick两大编程方式同步讲解,
2.Qt 开源社区创始人yafeilinux新作
3.配套资源一应俱全:600余页PPT,218个知识点示例,8组实验,2个综合实例
4.社区支持,配套网络教程持续更新
内容简介
这是一本Qt 6编程入门书,同步讲解了Qt Widgets和Qt Quick编程内容。全书共14章,前8章是基础内容,包括Qt概述、Qt Widgets窗口部件和Qt Quick控件、布局管理、事件系统、界面外观等内容,其中穿插介绍了Qt Creator开发环境、Qt信号和槽机制、Qt程序编译过程、QML语法基础等知识;第9章介绍图形动画基础;第10~12章介绍数据存储和显示的相关内容,本书从Qt涉及的众多应用领域中选取了常用的数据处理来重点讲解;第13章介绍多媒体应用;第14章介绍QML和C++的集成开发。本书注重知识点和实践的结合,提供的实例兼具示范性和实用性,并就知识点提供了Qt文档关键字提示,让读者在学习的过程中掌握自主学习的方法并逐步养成良好的编程习惯。
本书提供了课件PPT、实验讲义和程序源码,可作为高等院校相关课程的教材,也可作为各类软件开发人员的参考书。
目录
1.1 Qt概述 1
1.1.1 Qt的历史 1
1.1.2 Qt的特色 2
1.1.3 Qt软件开发框架介绍 3
1.1.4 Qt的授权 4
1.1.5 Qt Quick和QML介绍 4
1.2 如何选择Qt Widgets和Qt Quick 6
1.2.1 两者的区别 6
1.2.2 如何选择两种技术 6
1.3 Qt 6的下载和安装 7
1.4 Qt Creator开发环境简介 8
1.4.1 Qt Creator的特色 8
1.4.2 Qt Creator界面介绍 8
1.5 运行一个示例程序 10
1.5.1 运行Qt Widgets示例程序 11
1.5.2 运行Qt Quick示例程序 12
1.6 帮助模式 12
1.7 Qt工具简介 13
1.7.1 Qt Assistant 13
1.7.2 Qt Designer 14
1.7.3 Qt Linguist 14
1.7.4 Qt Design Studio 14
1.8 关于本书源码的使用 15
1.9 小结 15
1.10 练习 15
第 2章 第 一个Qt应用 16
2.1 第 一个Qt Widgets应用 16
2.1.1 创建Qt Widgets应用 16
2.1.2 编辑模式和设计模式 17
2.1.3 项目模式和项目文件 20
2.1.4 程序的运行 21
2.1.5 程序的发布 22
2.1.6 程序源码与编译过程详解 24
2.2 第 一个Qt Quick应用 33
2.2.1 创建Qt Quick应用 33
2.2.2 使用Qt资源文件 35
2.2.3 程序的发布 37
2.2.4 创建Qt Quick UI项目 37
2.2.5 使用Qt Quick设计器 38
2.2.6 QML语法基础 39
2.3 设置应用程序图标 41
2.4 小结 41
2.5 练习 41
第3章 Qt Widgets窗口部件和Qt Quick控件 42
3.1 Qt Widgets窗口部件 42
3.1.1 基础窗口部件QWidget 42
3.1.2 窗口几何布局 44
3.1.3 QFrame类族 45
3.1.4 按钮部件 46
3.1.5 QLineEdit 47
3.1.6 QAbstractSpinBox 49
3.1.7 QAbstractSlider 50
3.2 对话框QDialog 51
3.2.1 模态和非模态对话框 51
3.2.2 标准对话框 52
3.3 Qt Quick基础可视项目 53
3.3.1 Item 54
3.3.2 Rectangle 56
3.3.3 Text 56
3.3.4 TextInput 57
3.3.5 TextEdit 59
3.4 Qt Quick控件 59
3.4.1 控件基类型Control 60
3.4.2 按钮类控件 61
3.4.3 指示器类控件 63
3.4.4 输入类控件 64
3.4.5 日期类控件 68
3.5 Qt Quick系统对话框 68
3.5.1 颜色对话框ColorDialog 69
3.5.2 文件对话框FileDialog 69
3.5.3 消息对话框MessageDialog 70
3.6 程序调试 70
3.6.1 调试模式 71
3.6.2 单步调试 72
3.6.3 在Qt Widgets程序中使用qDebug()函数 72
3.6.4 在Qt Quick程序中使用console.log()函数 73
3.7 小结 74
3.8 练习 74
第4章 布局管理 75
4.1 Qt Widgets布局管理系统 75
4.1.1 布局管理器简介 75
4.1.2 基本布局管理器 76
4.1.3 栅格布局管理器 76
4.1.4 窗体布局管理器 77
4.1.5 综合使用布局管理器 77
4.1.6 设置部件大小 78
4.1.7 可扩展窗口 78
4.2 Qt Quick布局管理 79
4.2.1 定位器 79
4.2.2 基于锚(anchors)的布局 82
4.2.3 布局管理器 83
4.3 小结 86
4.4 练习 86
第5章 信号和槽 87
5.1 初识Qt Widgets中的信号和槽 87
5.1.1 认识信号和槽 87
5.1.2 自定义对话框 88
5.1.3 在主界面中使用自定义的对话框 89
5.2 信号和槽详解 90
5.2.1 信号和槽典型应用示例 91
5.2.2 信号和槽的关联 92
5.2.3 信号和槽的自动关联 94
5.2.4 信号和槽断开关联 95
5.2.5 信号和槽的高级应用 96
5.3 Qt Quick中的信号和信号处理器 96
5.3.1 概述 96
5.3.2 声明信号 96
5.3.3 信号处理器 97
5.3.4 使用Connections类型和connect()函数 98
5.4 Qt核心机制简介 99
5.4.1 对象模型 99
5.4.2 元对象系统 100
5.4.3 属性系统 101
5.4.4 对象树与拥有权 102
5.5 小结 102
5.6 练习 102
第6章 应用程序主窗口 103
6.1 Qt Widgets应用程序主窗口 103
6.1.1 菜单栏和工具栏 103
6.1.2 中心部件 106
6.1.3 Dock部件 106
6.1.4 状态栏 107
6.1.5 自定义菜单 107
6.2 Qt Quick应用程序主窗口 109
6.2.1 窗口Window 110
6.2.2 应用程序主窗口ApplicationWindow 111
6.2.3 菜单类控件 115
6.2.4 容器类控件 115
6.2.5 弹出类控件 119
6.3 小结 121
6.4 练习 122
第7章 事件系统 123
7.1 Qt Widgets中的事件 123
7.1.1 事件的处理 123
7.1.2 事件的传递 124
7.1.3 鼠标事件和滚轮事件 127
7.1.4 键盘事件 128
7.1.5 定时器事件与随机数 129
7.1.6 拖放操作 131
7.2 Qt Quick事件处理 135
7.2.1 MouseArea 135
7.2.2 鼠标事件MouseEvent和滚轮事件WheelEvent 137
7.2.3 拖放事件DragEvent 138
7.2.4 键盘事件KeyEvent 140
7.2.5 定时器Timer和随机数 142
7.3 小结 143
7.4 练习 143
第8章 界面外观和国际化 144
8.1 Qt Widgets外观样式 144
8.2 Qt样式表 145
8.2.1 使用代码设置样式表 145
8.2.2 在设计模式中设置样式表 145
8.2.3 Qt样式表语法 146
8.2.4 自定义部件外观 148
8.3 Qt Quick控件样式 150
8.3.1 使用控件样式 151
8.3.2 自定义控件 152
8.4 国际化 153
8.4.1 使用Qt Linguist翻译应用程序过程详解 154
8.4.2 使用Qt Creator自动生成翻译文件 157
8.4.3 程序翻译中的相关问题 158
8.5 Qt Quick的国际化 160
8.5.1 简单示例 160
8.5.2 需要注意的问题 161
8.6 小结 163
8.7 练习 164
第9章 图形动画基础 165
9.1 Qt Widgets中的图形动画基础 165
9.1.1 2D绘图 165
9.1.2 重绘事件 166
9.1.3 颜色和画刷 167
9.1.4 渐变填充 168
9.1.5 坐标系统和抗锯齿渲染 169
9.1.6 坐标变换 169
9.1.7 绘制图像 171
9.1.8 动态图片 172
9.2 Qt Widgets中的图形动画框架 173
9.2.1 图形视图框架的结构 173
9.2.2 图形视图框架的坐标系统 177
9.2.3 动画、碰撞检测和图形部件 179
9.2.4 动画框架 181
9.2.5 状态机框架 185
9.3 Qt Quick中的图形动画基础 187
9.3.1 颜色、渐变 187
9.3.2 图片、边界图片和动态图片 188
9.3.3 缩放、旋转和平移变换 190
9.3.4 状态State 191
9.4 Qt Quick中的动画和过渡 193
9.4.1 使用属性动画 194
9.4.2 使用预定义的目标和属性 194
9.4.3 在状态改变时使用过渡 195
9.4.4 使用默认的行为动画 196
9.4.5 使用并行或顺序动画组 197
9.4.6 使用动画师动画 197
9.4.7 控制动画的执行 198
9.5 小结 199
9.6 练习 199
第 10章 数据存储和显示 200
10.1 Qt Widgets中的模型/视图架构 200
10.1.1 模型类 200
10.1.2 视图类 203
10.1.3 委托类 205
10.1.4 项目视图的便捷类 208
10.2 Qt Widgets中的数据库应用 209
10.2.1 数据库简介 209
10.2.2 SQL数据库驱动 209
10.2.3 创建数据库连接 210
10.2.4 执行SQL语句 212
10.2.5 SQL查询模型 214
10.2.6 SQL表格模型 215
10.2.7 SQL关系表格模型 218
10.3 Qt Widgets中的XML应用 218
10.3.1 QXmlStreamReader 219
10.3.2 QXmlStreamWriter 221
10.4 Qt Quick中的模型/视图架构简介 221
10.5 Qt Quick中的数据模型 222
10.5.1 整数作为模型 223
10.5.2 ListModel 223
10.5.3 XmlListModel 225
10.5.4 TableModel 227
10.5.5 其他模型类型 228
10.5.6 在委托中使用必需属性来匹配模型角色 229
10.5.7 LocalStorage 230
10.6 视图类型 231
10.6.1 ListView 231
10.6.2 GridView 234
10.6.3 视图过渡 235
10.7 小结 236
10.8 练习 236
第 11章 Qt图表 237
11.1 在Qt Widgets中使用Qt图表 237
11.1.1 简单示例 237
11.1.2 坐标轴 240
11.1.3 使用外部数据动态创建图表 243
11.2 在Qt Quick中使用Qt图表 246
11.2.1 创建一个图表项目 246
11.2.2 坐标轴 247
11.2.3 图例Legend 250
11.2.4 ChartView 251
11.2.5 使用数据动态创建图表 252
11.2.6 常用图表类型介绍 254
11.3 小结 255
11.4 练习 255
第 12章 Qt数据可视化 256
12.1 在Qt Widgets中使用数据可视化 256
12.1.1 3D柱形图 256
12.1.2 自定义3D场景 257
12.1.3 设置轴标签、柱形标签和轴标题 258
12.1.4 设置3D项的形状 259
12.1.5 设置主题 259
12.1.6 选择模式和切片视图 260
12.1.7 项目模型和数据映射 261
12.1.8 3D散点图和3D曲面图 262
12.2 在Qt Quick中使用数据可视化 263
12.2.1 3D柱形图 263
12.2.2 3D坐标轴 264
12.2.3 数据代理 266
12.2.4 3D系列 267
12.2.5 自定义3D场景 267
12.2.6 设置主题 268
12.2.7 选择模式和切片视图 270
12.2.8 3D散点图 270
12.2.9 3D曲面图 271
12.3 小结 273
12.4 练习 273
第 13章 多媒体应用 274
13.1 Qt Widgets中的多媒体应用 274
13.1.1 播放音频 275
13.1.2 播放视频 276
13.1.3 QMediaPlayer 277
13.1.4 使用相机 282
13.1.5 录制音频 285
13.2 Qt Quick中的多媒体应用 287
13.2.1 播放压缩音频 288
13.2.2 播放未压缩音频 289
13.2.3 播放视频 290
13.2.4 媒体捕获相关类型 291
13.2.5 使用ImageCapture进行拍照 291
13.2.6 使用MediaRecorder进行音视频录制 292
13.3 小结 294
13.4 练习 294
第 14章 QML与C 混合开发 295
14.1 概述 295
14.2 在QML类型系统中注册C 类型 295
14.2.1 基于宏的注册方式 296
14.2.2 注册值类型 299
14.2.3 注册不可实例化的对象类型 299
14.2.4 注册单例类型 300
14.2.5 类型的修订和版本 300
14.3 Qt QML模块提供的C 类 301
14.3.1 QQmlEngine、QQmlApplicationEngine和QQuickView 301
14.3.2 QQmlContext 302
14.3.3 QQmlComponent 303
14.3.4 QQmlExpression 304
14.4 小结 304
14.5 练习 305
附录A QML语法速查 306
A.1 import导入语句 306
A.1.1 模块(命名空间)导入语句 306
A.1.2 目录导入语句 307
A.1.3 JavaScript资源导入语句 308
A.2 QML类型系统 308
A.2.1 基本类型 308
A.2.2 JavaScript类型 309
A.2.3 对象类型 310
A.3 对象特性(Attributes) 310
A.3.1 id特性 310
A.3.2 属性特性 310
A.3.3 信号和信号处理器特性 315
A.3.4 方法特性 315
A.3.5 附加属性和附加信号处理器特性 316
A.3.6 枚举特性 317
A.4 属性绑定 317
A.4.1 一般绑定 318
A.4.2 使用binding() 319
A.5 QML文档 319
A.5.1 通过QML文档定义对象类型 319
A.5.2 QML组件 320
A.6 QML模块 322
A.6.1 定义一个QML模块 322
A.6.2 通过C 插件提供类型和功能 322
附录B CMake简介 323
B.1 构建控制台应用 323
B.2 构建Qt Widgets应用 324
B.3 构建Qt Quick应用 325
B.4 小结 326
作者简介
霍亚飞(网名:yafeilinux),从事嵌入式软件开发工作十余年,于 2012 年创办 Qt 开源社区,长期致力于 Qt 及开源项目的推广和普及。著有《Qt Creator 快速入门》《Qt 5 编程入门》《Qt 及Qt Quick 开发实战精解》《QML 和 Qt Quick 快速入门》等多部图书。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0