Les contrôles insistent sur le fait d'être trop grand, et ne veulent pas redimensionner, dans QtDesigner

j'ai fait un" widget " dans concepteur Qt avec environ une douzaine de contrôles organisés en Horizon. et de vert. disposition. Curieusement, chaque mise en page horizontale veut être quelque Grande Taille, environ 400 px de large, quand toute la forme est réglée à 275px de large. Les boutons etc. contenus à l'intérieur sont trop larges pour la forme. Quand je redimensionne la forme du widget verticalement ou horizontalement (parfois avec la largeur maximale désactivée) les différentes mises en page ne sera pas redimensionner. Le réglage manuel des largeurs (ou des largeurs minimales, ou des largeurs maximales) peut affecte les tailles des commandes, mais pas leur espacement dans la disposition. Espaceurs insérés pour garder certaines commandes au sommet et d'autres au bas avec un espace flexible entre, ne fonctionne tout simplement pas du tout.

quelle chose (probablement) évidente est-ce que je passe inaperçue?

(Je ne suis normalement pas un programmeur d'applications ou D'interface graphique, un homme des cavernes total à cela.)

10
demandé sur DarenW 2011-03-09 19:52:50

1 réponses

ne vous blâmez pas, je pense que la logique de mise en page de Qt est un peu confuse quand vous commencez à traiter avec. Si j'ai bien compris ce que vous dites, le contenu du formulaire ne sont pas "connectés", c'est à dire pas de redimensionnement et n'est pas limitée par la taille de formulaire, non? Je pense que vous avez manqué de définir une "mise en page centralWidget". Essayez ce qui suit:

  1. ouvrez votre formulaire en double cliquant dessus dans QtCreator (Je n'utilise pas le QtDesigner fréquemment mais je pense que le la mise en page de l'éditeur est presque la même sur les deux outils).

  2. allez dans la fenêtre en haut à droite (celle qui a 2 colonnes" Classe objet") et cliquez avec le bouton droit de la souris sur l'objet racine (par exemple MainWindow).

  3. un menu contextuel apparaîtra. Cliquez sur" Lay out "(dernier élément du menu) et sélectionnez "Layout verticalement" ou" Layout horizontalement "

enter image description here

ces actions créeront un layout sur l'objet centralWidget. Si vous sélectionnez le "centralWidget" dans la fenêtre "Object-Class", vous pouvez voir et modifier les propriétés de layout dans la fenêtre propriété-Valeur (en bas à droite); ce sont les dernières propriétés de la liste.

plus important, après avoir ajouté une mise en page dans votre centralWidget, le contenu de votre formulaire doit être redimensionné en fonction de la taille de votre formulaire.

j'espère que cela aidera.

32
répondu Fivos Vilanakis 2017-11-02 23:03:09