【问题标题】:Reduce a table view's cell padding or margin减少表格视图的单元格填充或边距
【发布时间】:2010-06-24 18:07:47
【问题描述】:

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

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

【问题讨论】:

  • 我使用了 QTableView 中的 resizeRowsToContents(),它还降低了单元格的高度。

标签: qt qt4 tableview qt4.6


【解决方案1】:

推荐你使用这个代码:

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

【讨论】:

  • 谢谢!我会试试看。此表固定为 16 x 128 单元格,所以我想它不会有速度问题。
猜你喜欢
  • 1970-01-01
  • 2014-01-17
  • 2020-09-12
  • 1970-01-01
  • 2012-11-24
  • 2011-11-24
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
相关资源
最近更新 更多