web-dev-qa-db-fra.com

Comment définir la hauteur de ligne de QTableView?

J'ai QTableView et QAbstractTableModel. J'ai besoin que les lignes aient une hauteur égale à 24. Je sais que la seule façon de le faire est d'appeler QTableView::setRowHeight. Puisque le modèle est dynamique, il peut être ajouté de nouvelles lignes, mais je ne veux pas appeler setRowHeight chaque fois qu'une nouvelle ligne est ajoutée.

Comment puis-je configurer QTableView de telle sorte qu'il utilise la même hauteur pour les nouvelles lignes ajoutées ou un modèle peut-il recevoir la hauteur des lignes?

30
Ashot

Pour versions Qt <5

QHeaderView *verticalHeader = myTableView->verticalHeader();
verticalHeader->setResizeMode(QHeaderView::Fixed);
verticalHeader->setDefaultSectionSize(24);

Pour versions Qt> = 5 utilisez

QHeaderView *verticalHeader = myTableView->verticalHeader();
verticalHeader->setSectionResizeMode(QHeaderView::Fixed);
verticalHeader->setDefaultSectionSize(24);

Si cette fonction ne s'applique pas aux en-têtes verticaux, vous devrez probablement appeler setRowHeight() chaque fois que vous ajoutez une nouvelle ligne.

68
Cory Klein