QT3: Sortierungsproblem mit QListView



  • In einem QListView lasse ich nach Zeichenketten sortieren,
    die Blanks enthalten.
    Und da gibt es mitunter Probleme (obwohl erst ca. 200 Einträge da sind):
    ...
    2005 201
    2005 202
    2005 203
    2005 31
    2005 32
    ...

    Worin liegt die Ursache dieser falschen Sortierung ?
    Die Sortierreihenfolge ist "ascending" und da sollte
    die ...31 vor der ...201 stehen.

    Oder was ist mein Denkfehler ?



  • Hier ist ein ausführliches Beispiel der falschen Sortierung.
    Die Zeichenfolge =6*6 zeigt lediglich das Zeilenende an.

    2002 52 =66
    2002 53 =6
    6
    2002 71 =66
    2002 72 =6
    6
    2002 73 =66
    2002 81 =6
    6
    2002 82 =66
    2002 83 =6
    6
    2002 91 =66
    2002 92 =6
    6
    2002 93 =66
    2003 101 =6
    6
    2003 102 =66
    2003 103 =6
    6
    2003 11 =66
    2003 12 =6
    6
    2003 13 =66
    2003 21 =6
    6
    2003 22 =66
    2003 23 =6
    6
    2003 31 =66
    2003 32 =6
    6
    2003 33 =66
    2003 41 =6
    6
    2003 42 =66
    2003 43 =6
    6
    2003 51 =66
    2003 52 =6
    6
    2003 53 =66
    2003 61 =6
    6
    2003 62 =66
    2003 63 =6
    6
    2003 91 =66
    2003 92 =6
    6
    2003 93 =66
    2004 101 =6
    6
    2004 102 =66
    2004 103 =6
    6
    2004 11 =66
    2004 111 =6
    6
    2004 112 =66
    2004 113 =6
    6
    2004 12 =66
    2004 121 =6
    6
    2004 122 =66
    2004 123 =6
    6
    2004 13 =66
    2004 131 =6
    6
    2004 132 =66
    2004 133 =6
    6
    2004 141 =66
    2004 142 =6
    6
    2004 143 =66
    2004 151 =6
    6
    2004 152 =66
    2004 153 =6
    6
    2004 161 =66
    2004 162 =6
    6
    2004 163 =66
    2004 201 =6
    6
    2004 202 =66
    2004 203 =6
    6
    2004 21 =66
    2004 22 =6
    6
    2004 23 =66
    2004 31 =6
    6
    2004 32 =66
    2004 33 =6
    6
    2004 41 =66
    2004 42 =6
    6
    2004 43 =66
    2004 51 =6
    6
    2004 52 =66
    2004 53 =6
    6
    2004 61 =66
    2004 62 =6
    6
    2004 63 =66
    2004 71 =6
    6
    2004 72 =66
    2004 73 =6
    6
    2004 81 =66
    2004 82 =6
    6
    2004 83 =66
    2004 91 =6
    6
    2004 92 =66
    2004 93 =6
    6
    2005 11 =66
    2005 12 =6
    6
    2005 13 =66
    2005 131 =6
    6
    2005 132 =66
    2005 133 =6
    6
    2005 141 =66
    2005 142 =6
    6
    2005 143 =66
    2005 151 =6
    6
    2005 152 =66
    2005 153 =6
    6
    2005 181 =66
    2005 182 =6
    6
    2005 183 =66
    2005 201 =6
    6
    2005 202 =66
    2005 203 =6
    6
    2005 31 =66
    2005 32 =6
    6
    2005 33 =66
    2005 41 =6
    6
    2005 42 =66
    2005 43 =6
    6
    2005 51 =66
    2005 52 =6
    6
    2005 53 =66
    2005 91 =6
    6
    2005 92 =66
    2005 93 =6
    6

    Ich sollte noch anmerken, das dieses QListView nicht angezeigt wird,
    da ich es nur intern verwende um auf eine korrekt sortierte Liste zuzugreifen.
    Die Reigenfolge der Werte wurden über
    item->nextSibling();
    bestimmt und mittels
    zq=item->text(2);
    ausgelesen.



  • Hier ist wohl etwas eigenartig: bei mir stehen zwischen der ersten vierstelligen Zahl und der folgenden zwei oder dreistelligen immer 5 bzw.4 blanks.
    Wieso fehlen die hier im Forum ?

    also ein Teil nochmal und die Blanks durch _ ersetzt:
    Denn die zweite Zahlengruppe steht rechtsbündig.
    Also
    2005_____201 =66
    2005_____202 =6
    6
    2005_____203 =66
    2005______31 =6
    6
    2005______32 =66
    2005______33 =6
    6


Anmelden zum Antworten