2010-02-04 45 views

Respuesta

10

QTableWidget utiliza índices que son cero basada, por lo qTableWidget->rowCount() es uno más allá del final de la tabla.

para iterar sobre sus artículos y ver su texto, se podría hacer algo como esto:

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

la ejecución de este hace que el programa se bloquee: qDebug() < tableWidget-> punto (0,1) -> texto(); – eyecreate

+2

¿Ha agregado algo a la lista? De lo contrario, el elemento (0,1) devolverá NULL y el intento de desreferenciar el puntero NULL para obtener el texto dará como resultado un bloqueo. –

+0

¿Cómo agrego algo a la lista? He estado creando una fila, creo que la fila tendría celdas en blanco cuando se creó. ¿Cómo puedo asignar valores a esas nuevas celdas cuando inserto una fila? – eyecreate

3

Parece que no me di cuenta de que tenía que hacer un nuevo objeto del artículo para cada celda. He resuelto esta inicializando que "vacío"

ui->tablewidget->setItem(ui->tablewidget->rowCount()-1,0,new QTableWidgetItem("")); 
Cuestiones relacionadas