Dynamisch erstellen, das listmodel in QML

Wenn ich brauche zu jedem QML-Komponente in der Laufzeit, die ich verwenden kann, die Anleitung:
http://qt-project.org/doc/qt-5/qtqml-javascript-dynamicobjectcreation.html

also einfach anrufen Qt.createComponent und der Komponente.createObject

Aber ich konnte nicht herausfinden, wie die zu erstellen, die das listmodel zur Laufzeit? mit qml, nicht in c++.

Können Sie Fragen, warum ich es brauche. Also, ich habe einen verschachtelten das listmodel: es ist äußeren Modell, die Delegierten enthalten innere Modelle. Also, wenn ich rufe outer_model.append({}), die ich passieren muss neu erstellt das listmodel für innere Modell. Ich kann nicht die Verwendung von statisch definierten innere Modell in der äußeren delegieren, weil ich nicht den Zugang zu solchen Modell-Laufzeit. By the way, kann darauf zugegriffen werden irgendwie?

P. S. Vielleicht ist es völlig falsch, zu versuchen, verwalten von Modellen in javascript?

  • Es gibt eine starke Schule des Denkens, sagt der Modelle verwaltet werden sollen in C++ und Javascript sollte gehalten werden, leicht, wirklich für die Verwaltung der Anzeigen nur. In meiner Erfahrung, es ist nichts falsch mit der Verwaltung der Modelle in Javascript, so lange, wie Ihr code ist gut strukturiert. Qt bietet keine Javascript-debugger, so können Sie nicht zu Schritt über den code oder inspizieren von Variablen. Sie verlassen sich auf einen old-school-Konsole.log() debug-Ausgaben, das macht es schwieriger, Fehler zu beheben oder die Pflege von Programmcode. Hoffentlich ändert sich das in zukünftigen Versionen von Qt Creator.
Schreibe einen Kommentar