Qt官方示例BluetoothLowEnergyGame源码阅读

1. main.cpp 中对象注入qml

2. 只把 C++ 类里面的枚举暴露给 QML,禁止 QML new / 创建这个 C++ 对象

3. 开启模拟功能

4. Q_PROPERTY 属性

5. 创建qml 工程

6. GameSettings 的来源

7. 宽高动态变化

8. 理解 SplashScreen.qml

C++ 里面的类与qml 关联

也有信号和槽 qml 中

9. 理一理这个qml 的调用关系

forceActiveFocus() :QML Item 的内置方法,强制给这个组件激活键盘焦点

触发qml

1 man.qml -> 2 splashScreen.qml -> 3 app.qml -> 4 connect.qml -> 5 measure.qml -> 6 stats.qml

其他qml 触发关系

10 总结

  1. C++ 给 QML 用:注册类 / 注入实例;属性 Q_PROPERTY,函数 Q_INVOKABLE。
  2. QML 调 C++:直接访问暴露的对象的属性、函数。
  3. QML 组件间:id 直访(注意 Loader 就绪)、自定义信号解耦。
  4. 属性更新:必须 emit 信号,QML 绑定才会更新界面
相关推荐
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超2 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int2 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
慧都小项2 天前
当边缘AI上产线:QtitanDocking 如何让工业 HMI 实现多视图协同
人工智能·qt·ui·边缘计算·qt6.3
CoderYanger2 天前
A.每日一题:835. 图像重叠
java·开发语言·程序人生·leetcode·面试·职场和发展·学习方法
伞伞悦读2 天前
【第37期】Python JSON 与配置详解:序列化、反序列化、嵌套结构和配置文件
开发语言·python·json
CCCCCCCCharlie2 天前
Linux进程控制四大核心操作
linux·开发语言