Comment faire pour qu'un Widget Qt grandisse avec la taille de la fenêtre?

je veux avoir un petit QFormLayout qui pousse pour remplir son widget parent.

j'ai créé un nouveau .ui fichier en utilisant le modèle QWidget dans Qt Designer. J'ai mis un QFormLayout à l'intérieur de cette "fenêtre", puis mettre de contrôle à l'intérieur que QFormLayout .

tout cela fonctionne assez bien, mais le QFormLayout reste toujours à la taille que j'ai définie dans Qt Designer. Je voudrais que le QFormLayout remplisse son widget parent et grandir/rétrécir avec elle.

Comment puis-je accomplir cela?

76
demandé sur Angie Quijano 2011-05-18 16:44:16

3 réponses

dans Designer, activer le centralWidget et assigner un layout, p.ex. un layout horizontal ou vertical. Ensuite, votre qformlayout se redimensionnera automatiquement.

Image of Designer

assurez-vous toujours, que tous les widgets ont un layout! Sinon, le redimensionnement automatique va casser avec ce widget!

voir aussi

les commandes insistent pour être trop grandes, et ne veulent pas redimensionner, en QtDesigner

108
répondu Jens 2017-05-23 12:10:43

j'ai trouvé qu'il était impossible d'attribuer un layout au centralwidget jusqu'à ce que j'ai ajouté au moins un enfant en dessous. Ensuite, je pourrais mettre en surbrillance la petite icône avec la marque rouge 'disabled' et puis cliquer sur une mise en page dans la barre D'outils Designer en haut.

39
répondu Jillian Beuschel Marohnic 2013-01-11 02:57:31

la réponse acceptée (son image) est fausse, au moins maintenant dans QT5. Au lieu de cela, vous devriez assigner un layout à l'objet/widget racine (pointant vers l'image ci-dessus, il devrait être le MainWindow au lieu de centralWidget ). Notez également que vous devez avoir au moins un QObject créé en dessous pour que cela fonctionne. Faire ceci et votre interface utilisateur répond aux redimensionnement de la fenêtre.

0
répondu Nik-Lz 2018-08-10 05:46:34