如何在C++中动态添加/删除QML属性
How to dynamically add/remove QML properties inside C++?
例如,C++中定义的一个空的基于QObject的类。它是从QML创建的。然后C++通过CCD_ 1为它添加了一些属性。但QML无法访问它们。
其他示例:使用setContextObject
,然后开始向该C++对象添加属性。对QML无影响。
如何使其发挥作用?
更新
我看到了两个选项:私有API(MetaObject构建器)和在运行时生成QML项的代码。
我想您正在寻找QQmlPropertyMap。它允许您动态添加属性。不过,通常最好在C++中通过qt模型预定义值,而且使用QQmlPropertyMap的好用例并不多。
实际上有几种方法可以做到这一点,本文对此有很好的解释。
相关文章:
- 从C++实例化QML
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- 使用CMake创建QML插件
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 使用函数"remove"删除重复元素
- 如何从多映射中删除特定的重复项
- 在 Qml 中从 QSqlTableModel 中删除单行时视图不一致
- 如何删除 QML 对象
- 当删除上下文属性中的QLIST对象时,QT QML应用程序崩溃
- 在拖放 QML 列表中插入/删除项目使用 cpp 模型查看
- QML:如何删除全局 QSGTexture 对象
- 为什么QML正在删除我的C++ListView模型
- 如何在C++中动态添加/删除QML属性