Seite 1 von 1
[gelöst] QTreeWidget - nicht case-sensitive Sortierung?
Verfasst: 10. April 2006 12:40
von Tarek
Kann man es bei QTreeWidget bzw. QTreeView irgendwie ausschalten, das er bei der Sortierung Groß- und Kleinschreibung unterscheidet. Das sieht nähmlich ziemlich komisch aus. Zur Zeit sortiert er wie folgt:
Aa
Ab
Ba
Bb
aa
ba
sinnvoller wäre da:
Aa
aa
Ab
Ba
ba
Bb
Verfasst: 10. April 2006 13:02
von macman
Da hilft wohl nur überschreiben von lessThan(...).
Verfasst: 10. April 2006 18:48
von Tarek
Code: Alles auswählen
bool QTreeWidgetItem::operator< ( const QTreeWidgetItem & other ) const
Ich glaub nicht dass das TreeWidget die Items mit diesem Operator sortiert, woher soll man hier wissen nach welcher Spalte gerade sortiert werden soll? Man könnte sich die Spalte höchstens über parentWidget()->header() holen, find ich aber nicht grad ideal, also falls es eine andere Lösung gibt... her damit

Verfasst: 11. April 2006 07:24
von macman
Glauben kannst Du in der Kirche

Ich hab mir das nicht aus den Fingern gesaugt. Nimm dir die qtreewidget.cpp und schau dir an welche Methode Du überschreiben musst. Ohne wird es wohl nicht gehen.
Verfasst: 11. April 2006 16:54
von Esleborn
Sorry hatte nur QTree... gelesen und QTreeView draus gemacht...
da würde das hier helfen:
Überladen der Modelfunktion:
Code: Alles auswählen
void QAbstractItemModel::sort ( int f_column, Qt::SortOrder f_order )
Verfasst: 12. April 2006 19:12
von Tarek
Ich hab mir das nicht aus den Fingern gesaugt. Nimm dir die qtreewidget.cpp und schau dir an welche Methode Du überschreiben musst.
So ich hab jetzt mal nachgeschaut, und es stimmt.
Und zum Glück ist der Operator auch als virtuell deklariert, also ist es doch kein so großes Problem wie ich dachte... Danke.