Search code examples
qtqtableview

How to get a QTableView to fill 100% of the width?


Here's a print screen of my software:

As you can see, the first QTableVIew headers do not take 100% of the width. In fact, there is a small vertical white space on the right of the field size.

How can I get the headers to take 100% of the width of the QTableView?


Solution

  • If you are using Qt 5, QHeaderView::setResizeMode() is no longer available. Instead, you can use QHeaderView::setSectionResizeMode():

    ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
    

    Or just call it for every column:

    for (int c = 0; c < ui->tableView->horizontalHeader()->count(); ++c)
    {
        ui->tableView->horizontalHeader()->setSectionResizeMode(
            c, QHeaderView::Stretch);
    }