Seite 1 von 1

QTableWidget: Zahlen sortieren

Verfasst: 15. April 2008 11:44
von Busti
Hallo,

ich benutze in meiner Oberfläche ein QTableWidget, klappt auch (fast) alles gut.
Die Tabelle wird befüllt, nur das sortieren funktioniert zwar richtig, aber nicht so wie ich es will.
In der ersten Spalte steht ein Text, da stimmt die Sortierung.
In den weiter drei Spalten stehen Zahlen, natürlich als Text. Da sollte die Sortierung nach Zahlen und nicht nach Text sortieren.

Wie bekomme ich das hin?

Viele Grüße

Busti

Verfasst: 15. April 2008 12:01
von clemenstriest
Hallo Busti,

eine Möglichkeit: man schreibt einen eigenen Header MyHeaderView, von QHeaderView abgeleitet. Dieser wird in das QTableWidget eingesetzt. Damit ist es möglich, auch eigene Sortier-Fxn. einzusetzen, die Dein Problem in jeder Hinsicht lösen. Ausserdem kann dann ganz individuell sortiert werden.

Klingt im ersten Moment arbeitsintensiv, ist es aber nicht. Geht sehr schnell & ist einfach.
ZB kann man die angezeigten Daten in einer oder einigen QList<...> zwischenspeichern und dann diese Liste sortieren und neu anzeigen. Das geht dann am allereinfachsten.

Viel Spass ..

clemenstriest

Verfasst: 15. April 2008 12:13
von Busti
Danke.

Wenn das die einfachste Möglichkeit ist, werd ich mich mal dran setzen.
Wird man schließlich auch noch öfter brauchen können.

Verfasst: 15. April 2008 12:18
von upsala
QHeaderView?!?

Pack deine Daten in ein QStandardItemModel, oder noch besser in ein eigenes Model (von QAbstractItemModel abgeleitet).
Und setze ein QSortFilterProxyModel zwischen dein Model und der View. Vom Proxy kannst du bei Bedarf auch noch ableiten und die Sortierfunktion ändern.

Verfasst: 15. April 2008 15:26
von Busti
Was mache ich wenn die einzelnen Zeilen auch noch auswählbar sein sollen?
Wie in einer Auswahlliste.

Verfasst: 15. April 2008 18:38
von upsala
Doku lesen