How can I show data on QTableWidget and read data

2019-03-18 06:50发布

问题:

How can I show data on QTableWidget and read data from it with header?

回答1:

1). Create table with this example code:

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). Add row:

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

Enjoy.



回答2:

To create columns:

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

before you can insert rows you need to set the total rows:

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

now loop through rows and columns and set the data in each

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);
    }
}

to set the header

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

hope it helps