代码之家  ›  专栏  ›  技术社区  ›  Petruza

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

  •  6
  • Petruza  · 技术社区  · 14 年前

    我正在使用表视图。
    我想去掉单元格填充(或边距),这样我可以在更少的空间中挤压更多的单元格。如何实现这一目标?
    The cells size is set to 32 pixels on QT designer, if I set it smaller, the cells contents don't show and an ellipsis appears. (…)

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

    1 回复  |  直到 14 年前
        1
  •  7
  •   mosg    14 年前

    建议您使用此代码:

    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 */);
    

    附言:我也注意到,如果在 tableView 行或列太多,例如大约20K行或更多行,此函数 resizeSection() 可能太慢了…