Utilisation obligatoire d'un layout dans Qt Designer
Bonjour
Est-on obligé d'utiliser un style de layout, ou ne pas en avoir peut aussi fonctionner, car dès que j'active un layout de type grille par exemple, Qt Designer réarrange tout et modifie les tailles de mes Labels, alors que je ne le souhaite pas, j'aimerai conserver mon design d'origine sans layout.
Salut Franck.
Je pense qu'il faudrait un peu plus de précision dans ta question.
Maintenant j'ai déjà utilisé Qt Designer pour faire une GUI d'une app et je ne me suis pas privé d'utilisé les layouts. Cela m'a permis de bien struturé mon interface et surtout de bien géré son comportement en cas de réduction ou agrandissement de la fenêtre par exemple. Je ne pense pas que cela soit onligatoire mais je ne vois pas trop comment tu peux organiser ton interface avec strictement aucun layout.
Après à voir suivant ton projet et ton objectif.
Cordialement
Stéphane
Salut Franck,
Tu peux effectivement choisir de laisser les éléments positionnés de façon absolue mais effectivement c'est peu conseillé. Normalement, en jouant sur les contraintes de positionnement et de dimensions tu dois pouvoir agencer ton interface comme tu le souhaites tout en gardant le côté "responsive" que permettent les layouts.
Après si effectivement tu as des besoins très spécifiques tu peux tout placer à la main sans mettre de layout, ce n'est pas une obligation.
Il est normal cependant quand tu ajoutes un layout que Qt Designer change tes widgets pour les contraindre selon le layout sélectionné.
Merci pour vos retours, en fait mon soucis est qu'en utilisant le layout grid, mes labels et widget sont redimensionnés et leur hauteur ne me sarisfait pas du tout, (trop grand), et la longueur de tous les widget mis côte à côte fait que la fenêtre déborde de l'écran, ce qui n'est pas le cas avec mes dimensions et ma mise en forme/place, d'où le fait que je souhaiterai conserver ma mise en forme originale, mais j'ai lu ici et la que les Layout sont obligatoires, mais je ne trouve pas la raison, peut être pour le redimensionnement de la fenêtre.
Bonjour Franck
PyQt dispose de nombreux paramètres pour gérer ton layout.
Par exemple il y a les QSpacerItem qui permettent de définir un espace palcé à droite ou à gauche de widget et de définir un espace minimal, maximal ou s'il il cherche à prendre le maximum de place.
Tu peux aussi définir les tailles minimales et maximales de tes widget avec setMinimumSize ou setMaximumSize ou encore l'attribut QtWidgets.QSizePolicy.Fixed qui détermine une taile fixe pour l'objet.
Pour tout cela je t'invite à aller consulter la doc de Qt for Python (https://doc.qt.io/qtforpython-6/) qui t'expliquera toutes les possibilités ou à simplement utiliser Qt Designer qui te permettra de créer ton interface de manière graphique. Il existe sur Doctring cette formation qui devrait te permettre d'obtenir le résultat voulu : https://www.docstring.fr/formations/creer-des-interfaces-avec-qt-designer/
Si tu rencontres encores des difficultés à l'issue, n'hésites pas à nous le signaler.
Bon courage!
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte