Habe folgendes Problem:
In der ersten Spalte meines QTreeWidgets habe ich Zahlen und möchte nach dieser Spalte sortieren. Dabei kommt dann Folgendes heraus
1
10
11
2
3
4
5
6
7
8
9
Hat jemand eine Idee, wie ich richtig sortieren kann?
Würde mich auch interessieren, insbesondere im Zusammenhang mit Daten. Ich würde gerne Daten in gut lesbarem Format einfügen ("dddd, dd.MM.yyyy") und es sollte nach Datum sortiert sein. Bis jetzt habe ich das immer händisch sortiert, wäre aber natürlich schöner, wenn das direkt vom Widget übernommen würde...
Mit Qt::DisplayRole funktioniert es jedenfalls nicht.
[...]
Was funktioniert bei dir tadellos?
Weil "funktioniert nicht" keine Fehlerbeschreibung ist, ging ich davon aus, dass du das Einfügen der Daten mittels setData() gemeint hast... (mit der Sortierung hat die Rolle IMHO nichts am Hut). Aber an deiner Antwort zu Urteilen, hast du wohl die Sortierung gemeint...
Ok, mit dem QTreeWidget funktionierts so nicht, aber du kannst stattdessen ein QTreeView mit einem QStandardItemModel verwenden. Das funktioniert hier...
Grad fuer solche faelle sollte man wirklich das Modelbasierende zeugs nehmen ....
grad beim sortieren, und spaeter bei dynamisch wechselnder sortierung zur laufzeit tut man sich mit den models viel leicher (wenn man mal das prinzip der models und proxy models verstanden hat)