2010-09-10 10 views

Trả lời

10

Hãy thử những:

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

Hãy thử điều này:

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

Đó hoạt động tốt cho cột, nhưng dường như không hoạt động với các hàng. –

0

Tôi có cùng một vấn đề, do đó, làm nhiều người khác có vẻ như:

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

việc hack nhanh chóng của tôi cho một bảng đơn giản với một vài hàng chỉ (giả sử tất cả các hàng có cùng chiều cao văn bản và điều này chuyên nghiệp bably chỉ hoạt động đối với một số phông chữ có lẽ chỉ trên 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

Tôi đang sử dụng Qt 4.7 và điều này làm việc cho tôi trên QTableView:

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