Seite 1 von 1

Anfängerfrage: QStrings aus QTableWidgetItems

Verfasst: 10. Mai 2009 16:47
von CBM
Hallo,

ich habe eine QTableWidget-Tabelle wie folgt mit Daten gefüllt.

QString bufferString = "empty";
bufferString = timeEdit_Wert->time().toString();
QTableWidgetItem *WertfuerTabelle = new QTableWidgetItem(bufferString);
tableWidget_Tabelle->setItem(0, 0, WertfuerTabelle);

Später will ich diesen Wert wieder aus der Tabelle in eine Variable holen und in einen Integer konvertieren, um damit Berechnungen zu machen (siehe auch meinen parallelen Thread: http://www.qtforum.de/forum/viewtopic.php?t=9059)

Das "Wieder-aus-der-Tabelle-herausholen", hatte ich mir eigentlich so gedacht:

QString a;
a = tableWidget_Tabelle->item(0,0);

Da streikt jedoch der Compiler mit "Invalid conversion from 'QTableWidgetItem * to char'.

Erste Frage: warum wird hier überhaupt konvertiert. Ich habe bei der QT-Doku (wohl falsch) verstanden, dass QTableWidgetItems Strings speichern können.

Zweite Frage: Wenn das QTableWidgetItem nicht vom Typ string ist, welchen Typ hat es dann?

Dritte Frage: wie würde die Konvertierung richtig aussehen. Ich habe natürlich schon viel probiert. Unter anderem Konvertierung nach Qstring mit
a = QString("%1").arg(tableWidget_Tabelle->item(0,0));
... aber da weiß der Compiler dann nicht, welches arg (call of overloaded arg is ambigious).

Besten Dank für Eure Hilfe vorab!
Grüße

Verfasst: 10. Mai 2009 17:25
von Christian81
Ein QTableWidgetItem ist vom Typ QTableWidgetItem (wer hätte es gedacht...)
Speichern würde ich die Daten in QTableWidgetItem:setData() wobei die role Qt::UserRole ist. Die Wandlung in einem String zum anzeigen ist korrekt.
Und die dritte Frage - dafür gibts wohl nur zu sagen - Doku lesen hilft.

Außerderm fällt auf dass hier Grundlagen mit Model/View fehlen -> auch hier Verweis auf die Doku und vor allem auf die Beispielprogramme!

Verfasst: 10. Mai 2009 17:37
von CBM
i.O.
Verstehe.
Besten Dank! Die Hinweise "schieben" mich schon mal in die richtige Richtung!
Als Newbie fehlt einmal manchmal schier der Überblick ... (gerade aufgrund von Beispielen, Doku, googlen etc.). Aber andere haben es auch geschafft :-)