QML属性通过点符号提示


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。我可以得到正确的值,但我希望在.getChild(0(之后,如果我不知道类B具有什么属性,则能够通过点表示法获得提醒。

是的,您可以在Qml中迭代对象B的所有属性。但你会得到所有的属性,包括信号和插槽。

QML:

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

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

最新更新