减少表格视图的单元格填充或边距
问题描述:
我正在使用表格视图。
我想删除单元格的填充(或边距),这样我就可以在更少的空间中挤出更多的单元格。这怎么能实现?
在QT设计器中,单元格大小设置为32像素,如果将其设置得更小,单元格内容不会显示,并且会出现省略号。 (...)减少表格视图的单元格填充或边距
alt text http://img692.imageshack.us/img692/3484/tableviewpng.png
答
建议您使用此代码:
QTableView *tableView = new QTableView(this);
tableView->setModel(model_);
QHeaderView *verticalHeader = tableView->verticalHeader();
verticalHeader->setDefaultSectionSize(verticalHeader->fontMetrics().height()+2);
// or ...
QHeaderView *horizontalHeader = tableView->horizontalHeader();
horizontalHeader->setStretchLastSection(false);
horizontalHeader->resizeSection(/* your personal height */);
PS:另外我注意到,如果在tableView
太多的行或列,例如大约20K行或更多,这个功能resizeSection()
可能太慢...
我使用QTableView的resizeRowsToContents(),它也减少了单元格高度。 – Trilarion 2014-03-17 15:31:24