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