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类具有什么属性,便能够通过点表示法获得提醒。
答案 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]);
}
}
这应该返回属性和值的列表,包括年龄。