2010-02-04 11 views

Odpowiedz

10

QTableWidget korzysta indeksy, które są od zera, więc qTableWidget->rowCount() jest poza końcem tabeli.

iteracyjne nad swoje przedmioty i zobaczyć swój tekst, można zrobić coś takiego:

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

wykonanie powoduje awarię programu: qDebug() < tableWidget-> element (0,1) -> text(); – eyecreate

+2

Czy dodałeś coś do listy? Jeśli nie, pozycja (0,1) zwróci wartość NULL, a próba dereferencji wskaźnika NULL w celu uzyskania tekstu spowoduje awarię. –

+0

Jak dodać coś do listy? Tworzyłem wiersz, który jest tym, chociaż wiersz miałby puste komórki po utworzeniu. Jak przypisać wartości do tych nowych komórek podczas wstawiania wiersza? – eyecreate

3

Wydaje się, że nie zdawali sobie sprawy, że musiałem zrobić nowy obiekt pozycja dla każdej komórki. Rozwiązałem to przez inicjowanie to "pusta"

ui->tablewidget->setItem(ui->tablewidget->rowCount()-1,0,new QTableWidgetItem("")); 
Powiązane problemy