图书目录

目录

第 1 章 使用 Qt Designer 定制观感 1

1.1 技术要求 1

1.2 在 Qt Designer 中使用样式表 1

1.3 定制基本样式表 5

1.4 使用样式表创建登录界面 9

1.5 在样式表中使用资源 16

1.6 定制属性和子组件 20

1.7 在 Qt 建模语言中进行样式设计 24

1.8 将 QML 对象指针暴露给 C++ 34

第 2 章 事件处理—信号与槽 39

2.1 技术要求 39

2.2 信号和槽的简要介绍 39

2.3 使用信号和槽处理 UI 事件 45

2.4 简化异步编程 53

2.5 函数回调 57

第 3 章 状态和动画 61

3.1 技术要求 61

3.2 Qt 中的属性动画 61

3.3 使用缓动曲线控制属性动画 64

3.4 创建动画组 66

3.5 创建嵌套动画组 69

3.6 Qt 6 中的状态机 72

3.7 QML 中的状态、转换和动画 75

3.8 使用动画器制作组件属性动画 80

3.9 精灵动画 82

第 4 章 QPainter 与 2D 图形 87

4.1 技术要求 87

4.2 在屏幕上绘制基本形状 87

4.3 将形状导出到可缩放矢量图形文件 91

4.4 坐标变换 97

4.5 在屏幕上显示图像 101

4.6 对图形应用图像效果 106

4.7 创建基本的绘画程序 109

4.8 在 QML 中渲染 2D 画布 115

第 5 章 OpenGL 实现 119

5.1 技术要求 119

5.2 在 Qt 中配置 OpenGL 119

5.3 Hello World! 122

5.4 渲染 2D 形状 127

5.5 渲染 3D 形状 130

5.6 OpenGL 中的纹理映射 135

5.7 OpenGL 中的基本光照 138

5.8 使用键盘控制移动物体 142

5.9 QML 中的 Qt Quick 3D 143

第 6 章 从 Qt 5 过渡到 Qt 6 149

6.1 技术要求 149

6.2 C++类的变化 149

6.3 使用 Clazy 检查 Clang 和 C++ 153

6.4 QML 类型的变更 155

第 7 章 使用网络和管理大型文档 161

7.1 技术要求 161

7.2 创建 TCP 服务器 161

7.3 创建 TCP 客户端 167

7.4 使用 FTP 上传和下载文件 172

第 8 章 线程基础—异步编程 187

8.1 技术要求 187

8.2 使用线程 187

8.3 QObject 和 QThread 190

8.4 数据保护和线程间数据共享 194

8.5 使用 QRunnable 进程 198

第 9 章 使用 Qt 6 构建触摸屏应用程序 201

9.1 技术要求 201

9.2 为移动应用设置 Qt 201

9.3 使用 QML 设计基础用户界面 207

9.4 触摸事件 214

9.5 QML 中的动画 220

9.6 使用模型/视图显示信息 226

9.7 集成 QML 和 C++ 232

第 10 章 简化 JSON 解析 237

10.1 技术要求 237

10.2 JSON 格式概览 237

10.3 从文本文件处理 JSON 数据 239

10.4 将 JSON 数据写入文本文件 243

10.5 使用谷歌地理编码 API 246

第 11 章 转换库 251

11.1 技术要求 251

11.2 数据转换 251

11.3 图像转换 257

11.4 视频转换 261

11.5 货币转换 266

第 12 章 使用 SQL 驱动和 Qt 访问数据库 273

12.1 技术要求 273

12.2 设置数据库 273

12.3 连接到数据库 279

12.4 编写基本 SQL 查询 282

12.5 使用 Qt 创建登录界面 287

12.6 在模型视图中显示数据库中的信息 292

12.7 高级 SQL 查询 298

第 13 章 使用 Qt WebEngine 开发 Web 应用程序 307

13.1 技术要求 307

13.2 介绍 Qt WebEngine 307

13.3 使用 webview 和 Web 设置 314

13.4 在项目中嵌入 Google 地图 319

13.5 从 JavaScript 调用 C++函数 324

13.6 从 C++调用 JavaScript 函数 330

第 14 章 性能优化 337

14.1 技术要求 337

14.2 优化表单和 C++ 337

14.3 分析和优化 QML 343

14.4 渲染和动画 348