Ich versuche, eine Matrix der gleichen Art von Elementen in meiner QML-Anwendung dynamisch zu erstellen und dynamisch zu halten, so dass Sie jederzeit die Anzahl der Zeilen und Spalten in einer C++ - Datei ändern können. Das hat gut funktioniert, aber jetzt, um sie einzeln aufzurufen, möchte ich ihnen dynamische Namen geben. Deshalb verschachtelt ich zwei Repeater und versuchte, die ObjektName wie im Folgenden zu setzen:Gibt es irgendeine Möglichkeit, den Index eines äußeren QML Repeaters von dem inneren zu erreichen (sie sind verschachtelt)?
Repeater{
id: rows
model: Matrix1.row //number of rows in Matrix1-Object
Repeater{
id: columns
model: Matrix1.column //number of columns in Matrix1-Object
RepeatedItem{
objectName: (index) +"."+ (rows.index) //matrix elements are
supposed to be numbered x.y because of the nested repeaters, e.g.
0.0 for the first element
}
}
}
Leider scheine ich keinen Zugriff auf den äußeren Index zu haben. Der erste Wert wird angezeigt, der zweite Wert wird durch den String undefined in der TextArea meiner GUI dargestellt. Wenn ich dem äußeren Repeater eine neue Eigenschaft hinzufüge und denselben Wert wie index anlege, wird dieser einmal gesetzt und der erste Wert (0) für jede wiederholte Zeile beibehalten.
Ist es irgendwie unmöglich, diesen äußeren Indexwert dynamisch zu erreichen? Oder kennt jemand eine bessere Möglichkeit, zweidimensionale Arrays von Elementen in QML dynamisch zu erstellen, auf die einzeln zugegriffen werden kann?