J'ai une fenêtre contenant un QScrollArea
avec quelques widgets dedans.Qt: Comment redimensionner une fenêtre à son nouveau contenu
Jusqu'à présent, je créais le QScrollArea
et ses widgets enfants dans le constructeur de ma fenêtre, puis je redimensionnais la fenêtre verticalement pour adapter son contenu en utilisant resize(400, sizeHint().height())
. Jusqu'ici tout va bien.
Maintenant, j'ajoute ou supprime des widgets dans le QScrollArea
lors de l'exécution. Que dois-je faire, après avoir ajouté ou supprimé des widgets, pour que la fenêtre s'adapte verticalement à son contenu? Dois-je appeler adjustSize()
? resize(sizeHint())
? Devrait-il y avoir un appel à layout->activate()
ou peut-être updateGeometry()
d'abord? Quelles politiques de taille importent réellement 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
. J'utilise Qt 4.6 sous Windows.
Voulez-vous que QScrollArea ne possède pas de barres de défilement? –
Absolument, maintenant l'idée est de se débarrasser de la barre de défilement verticale. L'étape suivante consistera à l'autoriser à apparaître uniquement si la hauteur totale du contenu QScrollArea est vraiment trop importante ou si l'utilisateur redimensionne la fenêtre. –