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 绑定才会更新界面
相关推荐
草青工作室1 小时前
java-不携带Token也能“打“自己的接口:一个绕开网关鉴权、用 URL 直接调度 SpringMVC 方法的轻量级定时任务方案
java·开发语言
shmily麻瓜小菜鸡1 小时前
JavaScript / TypeScript 易踩坑知识点完全指南 -假值(Falsy Values)完全指南
开发语言·javascript·typescript
Quz1 小时前
QML 日期解析:字符串转日期与时间戳互转
qt
Coodor1 小时前
信创系统基于QT5操作NFC读写器
开发语言·qt·智能卡·nfc读写器·yw-607hc
励志不掉头发的内向程序员1 小时前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构
民乐团扒谱机1 小时前
【超详细】PyQt6 实现 AU 风格波形图编辑器:多级缩放与采样点逐级渲染,附全过程代码
开发语言·python·编辑器·pyqt·audition·时域·频谱图
s_w.h2 小时前
【 linux 】线程互斥与同步
java·linux·服务器·开发语言
pingglala2 小时前
C++线程安全队列对比
开发语言·c++
Demon--hx2 小时前
C++访问权限问题
开发语言·c++