Ich habe eine QSortFilterProxyModel
, die von meinem QML-Code aus zugänglich ist. Ich benutze es in einem ListView
in meinem QML-Code, aber ich möchte auch auf das erste Element davon außerhalb meiner ListView
zugreifen.Wie kann ich auf QSortFilterProxyModel-Elemente in QML außerhalb eines ListView zugreifen
Nehmen wir an, ich rufe meine QSortFilterProxyModel
sortedObjects
. In der ListView
übergeben Sie es einfach an die model
Eigenschaft, wie model: sortedObjects
und dann in der delegate
Eigenschaft kann ich auf seine Rollen zugreifen, durch die angegebenen Rollennamen. Wie kann ich dies außerhalb einer ListView
tun? So etwas wie sortedObjects[0].someRoleName
.
Vielen Dank für Ihre Antwort! Ich dachte mit der gleichen Logik, was Sie oben erklärt haben, aber ich bekomme 'TypeError: Property 'Index' des Objekts QSortFilterProxyModel (0x7fcff0c2af90) ist keine Funktion'. Ich beende es, indem ich eine C++ - Klasse erstelle, die einen Const-Zeiger von meinem 'QSortFilterProxyModel' empfängt und grundsätzlich dasselbe tut. Dann registriere ich es, damit ich es von QML aus aufrufen kann. Ich werde meine Lösung in ein paar Minuten veröffentlichen. – Silex
@Silex, die Funktionen wurden nur in Qt 5.5 aufrufbar gemacht, obwohl niemand erwarten konnte, dass Sie das wissen, weil es leider keinen Änderungsprotokolleintrag und keine Dokumentation gab, die das widerspiegeln. – Mitch
Das ist eine wirklich nützliche Information @Mitch, Danke! – Silex