[gelöst] QTreeWidget - nicht case-sensitive Sortierung?

Alles rund um die Programmierung mit Qt
Antworten
Tarek
Beiträge: 46
Registriert: 3. Oktober 2005 14:29
Kontaktdaten:

[gelöst] QTreeWidget - nicht case-sensitive Sortierung?

Beitrag 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
Zuletzt geändert von Tarek am 12. April 2006 19:12, insgesamt 1-mal geändert.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Da hilft wohl nur überschreiben von lessThan(...).
Tarek
Beiträge: 46
Registriert: 3. Oktober 2005 14:29
Kontaktdaten:

Beitrag 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 :P
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag 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.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag 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 )
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Tarek
Beiträge: 46
Registriert: 3. Oktober 2005 14:29
Kontaktdaten:

Beitrag 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.
Antworten