# 【Qt+QML+CMake 开发学习进度】

## Qt 6 QML 学习大纲

* [ ] 1\. 环境准备与基础语法
  * [ ] 1.1 安装 Qt 6 与 Qt Creator（建议使用 Qt 6.6+）
  * [ ] 1.2 基于 CMake 的 Qt 项目创建（完全摆脱 qmake）
  * [ ] 1.3 模块导入规范（无版本号：如 `import QtQuick`）
  * [ ] 1.4 QML 文件结构与组件组织
  * [ ] 1.5 ECMAScript 语法基础（兼容 ES6+）
* [ ] 2\. QML 核心概念
  * [ ] 2.1 对象与属性（支持直接绑定）
  * [ ] 2.2 信号与处理函数（统一用 `signal` + `onXChanged`）
  * [ ] 2.3 方法定义与调用（支持 JavaScript 与 C++）
  * [ ] 2.4 动态创建对象（`Component` 与 `Loader`）
  * [ ] 2.5 类型系统与动态类型（QML 类型增强）
* [ ] 3\. 现代布局与响应式设计
  * [ ] 3.1 Anchors 与现代布局实践
  * [ ] 3.2 Qt Quick Layouts（RowLayout, GridLayout 等）
  * [ ] 3.3 响应式设计：Size-aware 控件与缩放适配
  * [ ] 3.4 多分辨率支持与 DPI 缩放
* [ ] 4\. 动画、图形与渲染性能
  * [ ] 4.1 动画元素（PropertyAnimation, Transition, Behavior）
  * [ ] 4.2 ShaderEffect 与 GPU 加速
  * [ ] 4.3 Transform、Opacity、Blur 效果
  * [ ] 4.4 Qt 6 Scene Graph 与渲染管线优化
* [ ] 5\. Qt Quick Controls 6 精通
  * [ ] 5.1 常用控件介绍：Button, TextField, CheckBox, TabView 等
  * [ ] 5.2 样式系统（Material, Universal, Imagine）
  * [ ] 5.3 自定义控件与样式（Style.qml, Control.qml）
  * [ ] 5.4 动态控件生成与绑定
* [ ] 6\. 数据模型与视图（Model/View 编程）
  * [ ] 6.1 QML 原生模型：ListModel、ObjectModel
  * [ ] 6.2 Proxy 模型：SortFilterProxyModel 等
  * [ ] 6.3 视图组件：ListView, GridView, Repeater
  * [ ] 6.4 Delegate 技巧与性能优化
  * [ ] 6.5 C++ 集成模型（继承 QAbstractListModel）
* [ ] 7\. QML 与 C++ 高效集成
  * [ ] 7.1 类型注册：`QML_ELEMENT`, `QML_SINGLETON`
  * [ ] 7.2 Q\_INVOKABLE 与 Q\_PROPERTY 深度解析
  * [ ] 7.3 信号槽连接：QML <=> C++（现代连接语法）
  * [ ] 7.4 数据共享：Context Property 与对象注入
  * [ ] 7.5 在 QML 调用 C++ 对象方法 / 属性 / 枚举
* [ ] 8\. 高级特性与生态扩展
  * [ ] 8.1 多线程与异步编程（WorkerScript, QFuture）
  * [ ] 8.2 网络通信：Http、WebSocket、REST 接口调用
  * [ ] 8.3 数据持久化：SQLite、JSON、本地设置
  * [ ] 8.4 多媒体播放与摄像头支持（Qt Multimedia 6）
  * [ ] 8.5 位置与传感器（Qt Positioning / Sensors 6）
  * [ ] 8.6 WebAssembly 支持（将 QML 打包部署到网页）
* [ ] 9\. 架构设计与最佳实践
  * [ ] 9.1 MVVM 模型在 QML 中的落地（含 signal-driven ViewModel）
  * [ ] 9.2 状态管理：状态机、Context 属性共享
  * [ ] 9.3 模块化设计：导出组件、命名空间、重用机制
  * [ ] 9.4 性能优化：避免绑定死循环、合理使用 ListView
  * [ ] 9.5 单元测试与 QML 测试工具（TestCase, QTestLib）
* [ ] 10\. 打包部署与跨平台实践
  * [ ] 10.1 Qt Installer Framework（桌面端安装器）
  * [ ] 10.2 QML 项目的 CMake 安装脚本编写
  * [ ] 10.3 Android/iOS 跨平台构建与调试
  * [ ] 10.4 嵌入式设备上的部署策略（使用 Yocto、Raspberry Pi）
  * [ ] 10.5 WebAssembly 构建实践（emscripten + CMake）
* [ ] 11\. 新趋势与生态追踪
  * [ ] 11.1 Qt Design Studio 与设计驱动开发（DDD）
  * [ ] 11.2 QML 与 AI 桥接（Qt + ONNX + Python）
  * [ ] 11.3 Qt Labs 模块追踪（未来技术预览）
  * [ ] 11.4 与第三方 QML 库协作（如 Felgo、QuickFlux）
