减少表格视图的单元格填充或边距

时间:2010-06-24 18:07:47

标签: qt qt4 tableview qt4.6

我正在使用表格视图 我想删除单元格填充(或边距),这样我就可以在更小的空间内挤出更多的单元格。如何实现这一目标?
QT设计器上的单元格大小设置为32像素,如果我将其设置得更小,则单元格内容不会显示,并且会显示省略号。 (...)

alt text http://img692.imageshack.us/img692/3484/tableviewpng.png

1 个答案:

答案 0 :(得分:7)

建议您使用此代码:

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()可能太慢......