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 绑定才会更新界面。
相关推荐
程序猿追4 小时前
kotlin-retry 接入鸿蒙后,怎样确认它真的会停止重试
开发语言·kotlin·harmonyos
我是人✓4 小时前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
智能直播4 小时前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
墨云安全5 小时前
内网资产无法暴露到公网,怎么做安全检测?2026 年内网渗透测试的落地路径
开发语言·安全·网络安全·渗透测试·php
摇滚侠5 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记
Cc.Y5 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python
jimy17 小时前
c++的 Type Traits (一)
开发语言·c++
Web极客码7 小时前
Python Ollama 本地 Agent 入门与订单查询实践
开发语言·jvm·python
kimnoic8 小时前
PHP 8.2的DNF类型怎么用才规范
开发语言·php
_Evan_Yao8 小时前
前后端联调怎么排查问题?从 Network 到后端日志,一步步定位错误
开发语言·后端·团队开发·需求分析