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

user2429940 picture user2429940 · Jul 8, 2013 · Viewed 42k times · Source

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?

Answer

user362638 picture user362638 · Jul 8, 2013

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