QML 嵌套项的名称

Posted

技术标签:

【中文标题】QML 嵌套项的名称【英文标题】:Names of QML nested items 【发布时间】:2018-06-07 10:34:38 【问题描述】:

我正在尝试使用 QQmlComponent 解析 QML 文件:

  QQmlComponent component(&engine,
          QUrl::fromLocalFile("src/WorkModels/MyModel.qml"));
  QObject *object = component.create();
  qDebug() << toJson(object);
  foreach(auto action,  object->findChildren<QQuickItem*>()) 
    qDebug() << toJson(action);
  

但我还需要 QML 源代码中提到的每个子项的名称。对于 root,它是“MyModel”,但如何为孩子们获取它? objectName 对他们来说是空的。

【问题讨论】:

【参考方案1】:

metaObject()-&gt;className() for found children 给了我我需要的东西。

【讨论】:

以上是关于QML 嵌套项的名称的主要内容,如果未能解决你的问题,请参考以下文章

Qml QtQuick2'无效的属性名称“样式”(M16)' [重复]

当 LineSeries 悬停时获取 QML LineSeries 的名称 - (动态创建的 LineSeries)

如何使用列表项的名称创建函数,

gradle 到 maven 的转换,在依赖项的依赖项的版本名称中解析通配符“+”?

qml + 主细节

如何阻止 QML 项目被淘汰或其父项的边界