web-dev-qa-db-ja.com

QTableWidgetにデータを表示し、ヘッダーを使用してそこからデータを読み取るにはどうすればよいですか?

QTableWidgetにデータを表示し、ヘッダーを使用してそこからデータを読み取るにはどうすればよいですか?

16
ayla

1)。このサンプルコードを使用してテーブルを作成します。

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)。行を追加する:

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

楽しい。

22
mosg

列を作成するには:

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

行を挿入する前に、合計行を設定する必要があります。

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

行と列をループして、それぞれにデータを設定します

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

ヘッダーを設定するには

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

それが役に立てば幸い

6
LemonCool