2010-06-24 17 views
6

Sto utilizzando una vista tabella.
Vorrei rimuovere il riempimento della cella (o margine) in modo da poter spremere più celle in meno spazio. Come può essere realizzato?
Le dimensioni delle celle sono impostate su 32 pixel nella finestra di progettazione QT, se l'ho impostato più piccolo, il contenuto delle celle non viene visualizzato e appare un'ellissi. (...)Riduci il riempimento o margine della cella di una tabella di visualizzazione

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

+0

Ho usato resizeRowsToContents() da QTableView e anche ridotto le altezze della cella. – Trilarion

risposta

7

consigliamo di utilizzare questo codice:

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: Anche io ho notato, che se nel tableView troppo righe o colonne, ad esempio circa 20K righe o più, questa funzione resizeSection() potrebbe essere troppo lenta ...

+0

Grazie! Lo proverò. Questa tabella è fissa a 16 x 128 celle, quindi suppongo che non avrà problemi di velocità. – Petruza

+0

Ha funzionato alla grande, grazie! – frmdstryr

Problemi correlati