1. setContextProperty()
-
作用
将C++对象或值注册到QML的根上下文,使其在QML中作为全局变量直接访问。 -
使用场景
在C++代码中,将后端逻辑或数据模型暴露给QML界面。例如,注册一个DataManager类,使得QML可以直接调用其方法或属性。 -
语法
// C++ 代码示例 QQmlApplicationEngine engine; MyCustomClass myObj; engine.rootContext()->setContextProperty("myExposedObject", &myObj); -
QML中使用
// 直接访问注册的对象 Text { text: myExposedObject.someProperty } -
关键点
- 作用于QML上下文,全局可见。
- 用于C++和QML之间的跨语言交互。
2. setProperty()
-
作用
动态设置某个QML对象实例的特定属性值,支持已定义属性或动态属性。 -
使用场景
在QML或C++中,动态修改对象的属性(例如响

最低0.47元/天 解锁文章
1453





