1

QStandardItemModel中で使用していQTableViewます。Qtableviewここでは、メインウィンドウ内に2 つのボタンがあります。この中に必要な列は4つだけです。そして行は異なります。2 つのボタンは、行の追加/削除に使用されます (テスト ケース)。

  1. setHorizontalHeaderItemすべてのテキストが表示されていません (すべてのテキストが表示されていないことを意味します)。私が'Text for the Employee Name'それを置く場合の例は完全には見えませんか?
  2. QStandardItemModel満タンにする方法QTableviewwidth)。現在、左上隅に表示されていますか?

それを達成する方法は?

コード :

model= new QStandardItemModel(4, 4);

    for (int row = 0; row < 4; ++row) {
        for (int column = 0; column < 4; ++column) {
            QStandardItem *item = new QStandardItem(QString("row %0, column %1").arg(row).arg(column));
            model->setItem(row, column, item);
        }
    }

    model->setHorizontalHeaderItem(0, new QStandardItem(tr("Time")));
    model->setHorizontalHeaderItem(1, new QStandardItem(tr("Text for the Employee Name")));
    model->setHorizontalHeaderItem(2, new QStandardItem(tr("Text for the Employee Address")));
    model->setHorizontalHeaderItem(3, new QStandardItem(tr("Text for the Employee Date of Birth")));

    model->setVerticalHeaderItem(0, new QStandardItem(tr("Test-Case-----1")));

ここに画像の説明を入力

4

3 に答える 3

4
tableView->horizontalHeader()->setStretchLastSection(true);

また

tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
于 2013-06-05T06:04:13.517 に答える
1

質問はすでに回答に受け入れられているため、上記の受け入れられた回答は役に立たなかったので、私の回答は誰かを助けるかもしれません。

QStandardItemModel *model = new QStandardItemModel(2,3,this);
//----------
ui->tableView->setModel(model);
ui->tableView->resizeColumnsToContents();
于 2015-04-10T04:27:58.717 に答える