Как получить правильную высоту строки в Qt для объекта QTableView?
на этом скриншоте вы можете увидеть много места внутри строк:
я использовал эти функции для изменения размера:
resizeRowsToContents();
resizeColumnsToContents();
Как я могу получить лучшую подгонку для размеров ячеек / строк?
5 ответов
попробуйте эти:
verticalHeader()->setDefaultSectionSize(int size)
horizontalHeader()->setDefaultSectionSize(int size)
Я использую Qt 4.7, и это сработало для меня на QTableView
:
tableView->resizeColumnsToContents();
tableView->resizeRowsToContents();
tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
У меня такая же проблема, как и у многих других, кажется:
http://www.qtforum.org/article/13421/qtableview-how-to-make-rows-size-smaller.html
моя быстрая работа Хака для простой таблицы только с несколькими строками (предположим, что все строки имеют одинаковую высоту текста, и это, вероятно, работает только для некоторых шрифтов, возможно, только на Windo):
int rowHeight = ui.tableView_Available->rowHeight(0) *1/2;
for (unsigned int i = 0; i < model->rowCount(); i++)
ui.tableView_Available->verticalHeader()->resizeSection(i, rowHeight);