2010-05-06 83 views

Respuesta

21

1). Crear tabla con este código de ejemplo:

filesTable = new QTableWidget(0, 2); 
QStringList labels; 
labels << tr("File Name") << tr("Size"); 
filesTable->setHorizontalHeaderLabels(labels); 
filesTable->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); 
filesTable->verticalHeader()->hide(); 
filesTable->setShowGrid(false); 

2). Agregar fila:

int row = filesTable->rowCount(); 
filesTable->insertRow(row); 
filesTable->setItem(row, 0, fileNameItem); 
filesTable->setItem(row, 1, sizeItem); 

Enjoy.

+2

Creo que esta línea 'filesTable-> insertRow (row);' anulará la última fila en lugar de agregar una nueva, debe ser 'filesTable-> insertRow (row + 1);'. 'fileNameItem' y' sizeItem' deberían ser una instancia de QTableWidgetItem como esta: 'QTableWidgetItem * fileNameItem = new QTableWidgetItem; fileNameItem-> setText ("elemento de nombre de archivo"); QTableWidgetItem * sizeItem = new QTableWidgetItem; sizeItem-> setText ("artículo del tamaño"); ' – SIFE

+2

@SIFE Gracias por la respuesta. Revisé tu comentario con mi código y no encontré ningún problema. 'insertRow (fila)', donde 'int row = filesTable-> rowCount()' funciona correctamente ... – mosg

+1

parece que ambos métodos funcionan correctamente. – SIFE

4

book on Qt esta disponible gratuitamente y escrita por uno de los mejores entrenadores de Qt.
Necesita entender algo de la "forma Qt" antes de solo saltar y hacer clic en el diseñador de diseño.

6

para crear columnas:

ui->tableWidget->setColumnCount('the number of columns'); 

antes de que se pueden insertar filas que necesita para configurar las filas totales:

ui->tableWidget->setRowCount('number of rows'); 

ahora bucle a través de filas y columnas y establecer los datos en cada

for (int ridx = 0 ; ridx < 'number of rows' ; ridx++) 
{ 
    for (int cidx = 0 ; cidx < 'number of columns' ; cidx++) 
    { 
     QTableWidgetItem* item = new QTableWidgetItem(); 
     item->setText('text or number to display'); 
     ui->tableWidget->setItem(ridx,cidx,item); 
    } 
} 

para establecer el encabezado

ui->tableWidget->setHorizontalHeaderLabels('QStringList containing the names'); 

creo que sirve

Cuestiones relacionadas