QML属性提示(按点标记)

时间:2018-07-13 09:54:42

标签: properties qml qlist

class A{
    QList<B *>child;
    Q_INVOKABLE B * getChild(int idx) {return child.at(idx);}
}

class B{
    int age;
}

in QML:
Item{
  A{
    id: a;
  }
  Componet.onCompleted:{
    console.log: a.getChild(0).age;
  }
}

我有两个班级A和B。 我有注册类A和B int main.cpp。 我可以得到正确的值,但是我希望在a.getChild(0)之后,如果我不知道B类具有什么属性,便能够通过点表示法获得提醒。

1 个答案:

答案 0 :(得分:0)

是的,您可以遍历Qml中对象B的所有属性。但是您将获得所有属性,包括信号和插槽。

在QML中:

Item{
  A {
    id: a;
  }
  Componet.onCompleted: {
    var bItem = a.getChild(0)
    for (var p in bItem )
       console.log(p + ": " + item[p]);
  }
}

这应该返回属性和值的列表,包括年龄。