2016-05-10 14 views
0

Ich habe eine QML TableView, wo ich einige Daten von einem Modell anzeigen, das QAbstractItemModel implementiert. Aber anstatt es direkt zu verwenden, verpacke ich es in ein QSortFilterProxyModel für die Sortier- und Filterfunktionen.Map QML TableView-Zeile bei aktivierter Zurück zu QModelIndex

Jetzt, wenn ich z.B. habe eine stark gefilterte Ansicht und aktiviere eine Zeile Ich möchte etwas mit dem aktivierten Modellelement machen. Aber der onActivated-Handler gibt mir nur die Zeilennummer, auf die ich geklickt habe, aber ich denke, ich brauche den QModelIndex, um das zugrunde liegende Modell für das Element abzufragen. Ich kann auch nicht etwas wie model.get (row) implementieren, da das Modell jetzt eine Zuordnung von Zeilen zu Indizes hat.

Antwort

0

Ich habe herausgefunden, wie es funktionieren soll. Sie implementieren Index und Daten in Ihrem benutzerdefinierten sortfilterproxymodel wie folgt:

Jetzt können Sie z. so in QML

property var qt_UserRole: 256 // FIXME: Qt.UserRole is not exported 
model.data(model.index(row, 0), qt_UserRole + 1)