Qt: QAbstractItemModel::sort
-
Hallo,
Ich möchte gerne meinen TableView sortieren ohne ein ProxyModel zu verwenden. Es heißt im Assistant, dass man nur sort überschreiben muss da die Orginalfunktion nichts macht.
Wie genau muss man die überschreiben. Soll ich da die orginaldaten sortieren und dann ein dataChanged senden?
-
Also die sort() Funktion wurde ja virtual deklariert.
Du musst demnach nur eine eigene Klasse von QAbstractItemModel ableiten und in dieser die sort() Funktion selber implementieren, dadurch wird dann die "originale" Version dieser Funktion überschrieben.
-
Das weiß ich ja.
Aber was soll in diese sort-Funktion rein?
-
Selbstverständlich deine EIGENE Implementation der sort() Funktion, das ist ja Sinn und Zweck der Sache.
Wie das sortiert werden soll musst du schließlich schon selbst programmieren.
-
Irgendwie reden wir aneinander vorbei. Mir ist schon klar das da eine eigene Implementation hinein muss.
Ich entnehme deinen Ausführungen, das hier die Orginaldaten sortiert werden müssen.
Mein Model hält nur einen Zeiger auf eine Klasse welche die Daten bereitstellt, hat aber keinen Zugriff auf die Internas und kann die somit auch nicht sortieren.
Wenn das so ist wie ich jetzt annehme, müsste ich entweder eine Kopie der Daten im Model ablegen oder eben doch den Weg über ein Proxymodel gehen.
Ich hatte eigentlich gedacht, das Sortieren mit sort() geht über Indexveränderungen.