2010-03-27 2 views
4

Considérons un QTablWidget et un QTextEdit. Les deux sont dans une QSplitte horisontal. Laissez le widget QTable a 2 colonnes.Modifier la largeur des colonnes de la table lors du redimensionnement de la fenêtre ou du séparateur

Le problème est de redimensionner la largeur des colonnes de la table lorsque vous redimensionnez l'opération en déplaçant le séparateur avec la souris. Existe-t-il des options pour que les colonnes puissent être redimensionnées de manière synchronisée avec la table?

Merci.

+1

Vous pouvez utiliser les propriétés "Stretch last section" ... Mais je suppose que vous voulez que les deux colonnes s'adaptent à la taille de la table et aient la même largeur ... Je dois dire que j'ai parfois connu un ralentissement énorme redimensionnement automatique des colonnes avec beaucoup d'éléments/lignes ... Je vous conseille simplement d'utiliser "stretchLastSection", qui est une sorte de comportement standard ... –

Répondre

6
QHeaderView *header = ui->tableWidget->horizontalHeader(); 
header->setResizeMode(QHeaderView::Stretch); 

Ce code définit toutes les colonnes de ui-> tableWidget sur une largeur égale et le laisse changer automatiquement. Et jetez un oeil à la description QHeaderView dans docs, vous pouvez faire presque tout ce que vous pouvez imaginer avec des colonnes de table avec cette API. Triste, mais vous ne pouvez pas définir de facteur d'étirement ou de largeur, si vous avez besoin de largeurs de colonne relationnelles non égales, mais vous pouvez toujours réimplémenter sizeHint() ou redimensionner des sections lorsque geometriesChanged de l'en-tête se déclenche.

+0

Merci! Cela fonctionne parfaitement. –

Questions connexes