Je veux avoir une petite QFormLayout
qui se développe pour remplir son widget parent.
J'ai créé un nouveau fichier .ui en utilisant le modèle QWidget
dans Qt Designer. Je mets une QFormLayout
à l'intérieur de cette 'fenêtre', puis quelques contrôles à l'intérieur de cette QFormLayout
.
Tout cela fonctionne assez bien, mais la QFormLayout
reste toujours à la taille définie dans Qt Designer. J'aimerais que la QFormLayout
remplisse son widget parent et s'agrandisse/diminue.
Comment puis-je accomplir cela?
Dans Designer, activez le centralWidget et assignez une présentation, par exemple. mise en page horizontale ou verticale. Votre QFormLayout sera alors automatiquement redimensionné.
Assurez-vous toujours que tous les widgets ont une disposition! Sinon, le redimensionnement automatique sera interrompu avec ce widget!
Les contrôles insistent pour être trop grands et ne redimensionneront pas dans QtDesigner
J'ai trouvé qu'il était impossible d'attribuer une mise en page à la centralwidget avant d'avoir ajouté au moins un enfant en dessous. Ensuite, je pourrais mettre en surbrillance la petite icône avec la marque rouge «désactivé», puis cliquer sur une mise en page dans la barre d’outils de Designer en haut.
La réponse acceptée (son image) est fausse, du moins maintenant dans QT5. Au lieu de cela, vous devez affecter une présentation à l'objet racine/widget (en pointant sur l'image susmentionnée, il devrait s'agir de la variable MainWindow
au lieu de centralWidget
). Notez également que vous devez avoir au moins une QObject
créée en dessous pour que cela fonctionne. Faites cela et votre interface utilisateur réagira au redimensionnement de la fenêtre.