Ich beschäftige mich seit einiger Zeit mit Qt und schaffe es nicht das folgende Problem zu lösen:
In C# (in Kombination mit WindowsForms) kann man einer Listbox bequem ein Objekt wie eben einen Punkt übergeben und mittes der Methode "ToString" wird bestimmt, welcher Text dann in der Liste angezeigt wird. Das beste daran ist, wenn der Benutzer nun einen aufgelisteten Eintrag - z.B. in der Form (x_Koordinate|y_Koordinate) - ausgewählt hat, dass mein leicht das entsprechende Objekt erhält und sofort auf dessen Daten zugreifen, bzw. diese verändern kann.
In Qt habe ich nun eine QList<QPoint>. Ich schaffe es zwar problemlos diese in einem QListWidget anzeigen zu lassen, indem ich folgendermaßen einen Eintrag hinzufüge:
Code: Alles auswählen
listWidgetPoints->addItem(new QListWidgetItem( "( " + QString::number(x_Coordinate) + " | " + QString::number(y_Coordinate) + " )", listWidgetPoints, QListWidgetItem::UserType));
Meine sehr unbequeme Lösung ist bisher das analysieren des QStrings, der mir von text() der Klasse QListWidgetItem zurückgegeben wird.
Die Frage kann nicht nur speziell für eine Liste von QPoints gedeutet werden, sondern allgemein für einen beliebige Klasse.
Meine Recherchen haben bisher ergeben, dass es wahrscheinlich über das Model/View Programming von Qt zu lösen ist. Doch in allen gefundenen Beispielen wurde stets mit QStrings gearbeitet...
Vielen Dank an alle im Voraus!