Question

I have QTableView and QAbstractTableModel. I require rows to have height equal to 24. I know the only way to do this is by calling QTableView::setRowHeight. Since the model is dynamic it may be added new rows, but I don't want to call setRowHeight each time new row is added.

How can I configure QTableView such that it uses the same height for new added rows or can a model be sent the height of rows?

Was it helpful?

Solution

For Qt versions < 5

QHeaderView *verticalHeader = myTableView->verticalHeader();
verticalHeader->setResizeMode(QHeaderView::Fixed);
verticalHeader->setDefaultSectionSize(24);

For Qt versions >= 5 use

QHeaderView *verticalHeader = myTableView->verticalHeader();
verticalHeader->setSectionResizeMode(QHeaderView::Fixed);
verticalHeader->setDefaultSectionSize(24);

If that function doesn't apply to vertical headers, you likely will have to call setRowHeight() every time you add a new row.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top