7
votes

I'm using a Table View.
I'd like to remove the cell padding (or margin) so I can squeeze more cells in less space. How can this be achieved?
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
I used resizeRowsToContents() from QTableView and it also reduced the cell heights.Trilarion

1 Answers

7
votes

Recommend you to use this code:

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: Also I have noticed, that if in tableView too much rows or columns, for example about 20K rows or more, this functions resizeSection() may be too slow...