Qt: Comment redimensionner une fenêtre à son nouveau contenu
J'ai une fenêtre contenant un QScrollArea
avec quelques widgets.
Jusqu'à présent, j'ai été la création de la QScrollArea
et ses widgets enfants dans le constructeur de ma fenêtre, et puis j'ai été le redimensionnement de la fenêtre verticalement pour s'adapter à son contenu à l'aide de resize(400, sizeHint().height())
. Pour l'instant, donc bon.
Maintenant, je suis en ajoutant ou en supprimant des widgets dans le QScrollArea
au moment de l'exécution. Que dois-je faire, après avoir ajouté ou supprimé des widgets, pour rendre la fenêtre s'adapte à son contenu à la verticale? Dois-je appeler adjustSize()
? resize(sizeHint())
? Devrait-il y avoir un appel à layout->activate()
ou peut-être updateGeometry()
en premier? La taille des politiques en fait de l'importance dans ce cas? Ceux de la fenêtre, ou de la zone de défilement, ou les deux? J'ai essayé de les mettre tous à Expanding
.
Je suis à l'aide de Qt 4.6 sur Windows.
source d'informationauteur François Beaune
Vous devez vous connecter pour publier un commentaire.
Il semble que l'appel à
resize(sizeHint())
(sans aucune autre magie) après les widgets ont été ajoutés à la zone de défilement en fait le truc. En quelque sorte raté la première fois.