QML与C++集成原理
# 10.QML与C++集成原理
元对象系统(MOC)、信号槽跨语言调用、上下文属性 vs 类型注册——QML 与 C++ 的无缝集成原理。
# 目录
- 1. 案例引入:温度传感器数据怎么从 C++ 流向 QML?
- 2. 元对象系统(Meta-Object System)
- MOC 编译器的本质(代码生成器)
- Q_OBJECT/Q_PROPERTY/Q_INVOKABLE 的内部实现
- Meta Object 数据结构
- 3. 上下文属性(setContextProperty)
- 全局对象暴露机制
- 生命周期与线程安全
- 何时用 vs 何时不用
- 4. 类型注册(qmlRegisterType)
- 注册为可实例化的 QML 类型
- 单例类型(qmlRegisterSingletonType)
- 未创建类型(qmlRegisterUncreatableType)
- 5. 信号与槽跨语言通信
- C++信号→QML(Connections)
- QML信号→C++槽
- Lambda 连接与 Qt 6 新语法
- 线程安全的信号传递(Qt::QueuedConnection)
- 6. C++操作QML对象
- findChild/属性读写/方法调用
- invokeMethod 动态调用
- 7. QML插件(Qt Quick Extension Plugin)
- 发布可复用的 QML C++ 模块
- 8. 速查表
📝 基于原有 07.QML和C++.md 升级,补充 MOC 原理 + 线程安全
上次更新: 2026/06/25, 10:11:58