L'expansion d'une Qt Mise en page : comment mettre un widget sur le côté droit et le laisser l'autre widget de remplir complètement la gauche?
J'ai envie de mettre un widget sur le côté droit d'un QHBoxLayout, et les autres espaces, d'autres devraient étendre le côté gauche. J'ai mis le widget de l'SizePolicy à l'Expansion, mais il n'est pas valide. N'importe qui pourrait offrir de l'aide? Merci.
Code est ici:
QHBoxLayout* tmplayout = new QHBoxLayout(this);
tmplayout->setContentsMargins(0, 0, 0, 0);
lineEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Ignored);
tmplayout->addWidget(lineEdit, 0, Qt::AlignRight);
tmplayout->addWidget(pushButton, 0, Qt::AlignRight);
lineEdit devrait élargir.
Merci de poster le code que vous rencontrez des problèmes avec.
OriginalL'auteur user3294 | 2011-06-23
Vous devez vous connecter pour publier un commentaire.
Essayez de changer:
:
Lorsque vous traitez avec de simples mises en page comme ceci, il n'est pas nécessaire de spécifier des alignements ou d'étirer les facteurs explicitement.
Si vous voulez forcer le bouton à la taille spécifique, vous pouvez utiliser setMinimumSize, setMaximumSize, et setFixedSize
En ce qui concerne meilleur
OriginalL'auteur Gerstmann
Pour les widgets que vous voulez être sur la gauche et se développer, essayer de simplement ajouter avant ceux de droite, et ajouter un
1
pour leur facteur d'étirement. Par exemple,Ensuite, vous pouvez simplement ajouter les widgets que vous voulez être sur le côté droit après celles sur la gauche, juste en utilisant:
Cela va automatiquement donner un facteur d'étirement de 0.
Puisque le facteur d'étirement de
exampleWidget
dans cet exemple est1
ce qui est supérieur à la valeur par défaut0
,exampleWidget
va se développer; et, puisque vous l'ajouter avant les autres, il sera sur la gauche.OriginalL'auteur houbysoft
Je ne suis pas sûr si je comprends votre problème correctement, mais peut-être vous avez besoin de regarder dans QSpacerItem. Si cela n'est pas utile, peut-être vous pouvez faire un accidenté de la maquette en Qt-Creator et après les captures d'écran (un exemple montrant env. ce que vous avez, un exemple montrant ce que vous voulez)
Je pense que ExplodingRat a la réponse pour vous, laissez les valeurs de l'allongement et de l'alignement ou de définir les valeurs utiles. doc.qt.nokia.com/4.7/qboxlayout.html#addWidget
OriginalL'auteur bjoernz
Essayer
fixed
ouminimum
taille des politiques. Même, vous pouvez résoudre le maximum de largeur.OriginalL'auteur Donotalo