2010-09-10 9 views

Antwort

10

Versuchen Sie diese:

verticalHeader()->setDefaultSectionSize(int size) 
horizontalHeader()->setDefaultSectionSize(int size) 
3

Versuchen Sie folgendes:

void QHeaderView::setResizeMode(QHeaderView::ResizeToContents); 
+0

, die gut für Spalten arbeitet, scheint aber nicht mit Zeilen zu arbeiten. –

0

ich das gleiche Problem haben, so viele andere tun es scheint:

http://www.qtforum.org/article/13421/qtableview-how-to-make-rows-size-smaller.html

Meine schnelle Hack Job für eine einfache Tabelle mit nur ein paar Zeilen (angenommen, alle Zeilen haben dieselbe Texthöhe und dieses Pro Bably funktioniert nur bei einigen Schriftarten vielleicht nur auf Windo):

int rowHeight = ui.tableView_Available->rowHeight(0) *1/2; 
for (unsigned int i = 0; i < model->rowCount(); i++) 
    ui.tableView_Available->verticalHeader()->resizeSection(i, rowHeight); 
1

Ich bin mit Qt 4.7 und dies war für mich auf QTableView:

tableView->resizeColumnsToContents(); 
tableView->resizeRowsToContents(); 
tableView->horizontalHeader()->setResizeMode(QHeaderView::Stretch); 
-2
QTimer::singleShot(1, ui->tableView, SLOT(resizeRowsToContents()));