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

问题描述:

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

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

+0

我使用QTableView的resizeRowsToContents(),它也减少了单元格高度。 – Trilarion 2014-03-17 15:31:24

建议您使用此代码:

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

+0

谢谢!我会试试看。这张表固定在16 x 128个单元,所以我猜它不会有速度问题。 – Petruza 2010-06-27 14:06:10

+0

工作很好,谢谢! – frmdstryr 2015-01-30 16:27:47