2010-02-04 15 views

Antwort

10

QTableWidget verwendet Indizes, die Null-basiert sind, so qTableWidget->rowCount() ist eine über das Ende der Tabelle.

Ihre Artikel iterieren und ihren Text sehen, könnten Sie so etwas tun:

// assuming #include <QtDebug> 
for (int i=0; i<tableWidget->rowCount(); ++i) 
{ 
    qDebug() << tableWidget->item(i, 0)->text(); 
} 
+0

Ausführung dies bewirkt, dass das Programm der Initialisierung zum Absturz: qDebug() < tableWidget-> item (0,1) -> Text(); – eyecreate

+2

Haben Sie etwas zur Liste hinzugefügt? Wenn nicht, gibt Element (0, 1) NULL zurück und der Versuch, den NULL-Zeiger zu dereferenzieren, um den Text zu erhalten, führt zu einem Absturz. –

+0

Wie füge ich etwas zur Liste hinzu? Ich habe eine Zeile erstellt, die es ist, ich dachte, die Zeile würde leere Zellen haben, wenn sie erstellt werden. Wie weise ich diesen neuen Zellen beim Einfügen einer Zeile Werte zu? – eyecreate

3

Es scheint, ich war nicht klar, dass ich für jede Zelle ein neues Item-Objekt zu machen hatte. Ich löste dies, indem es "leer"

ui->tablewidget->setItem(ui->tablewidget->rowCount()-1,0,new QTableWidgetItem("")); 
Verwandte Themen