Ich habe diese in einer Datei ChildItem.qml
genannt:Bindungseigenschaft der Kinder Immobilien in qml
Item{
property var childProperty
}
In einer anderen Datei ParentItem.qml
genannt, ich das übergeordnete Element zu erstellen und versuchen, die childProperty
auf eine Eigenschaft des Mutter zu binden:
Item{
property ChildItem childItem: null
property var parentProperty
childItem.childProperty: parentProperty
}
In main.qml
instanziiert ich beide Objekte und binden den Hinweis der Eltern auf das Kind:
ApplicationWindow{
ChildItem{
id: childID
}
ParentItem{
id: parentID
childItem: childID
}
}
Dies gibt mir einen Cannot assign a value directly to a grouped property
Fehler auf der childItem.childProperty: parentProperty
Zeile. Ich arbeite darum, indem ich das Elternteil wie folgt ändere:
Item {
property ChildItem childItem: null
property var parentProperty
//childItem.childProperty: parentProperty
onParentPropertyChanged: childItem.childProperty = parentProperty
}
Aber das sieht und fühlt sich sehr künstlich an. Gibt es bessere Möglichkeiten, diese oder andere Vorschläge zu machen, um die Struktur auf andere Weise zu verändern?
Danke, 'Binding' scheint, als könnte es ein One-Liner sein. Die zweite Option ist in meinem Szenario leider nicht möglich, da sich die Eltern-/Kindobjekte zur Wiederverwendbarkeit in ihren eigenen Dateien befinden müssen. –