Mailinglist Archive: opensuse-programming-de (86 mails)

< Previous Next >
Re: QT3-Gridlayout
  • From: Stefan Hundhammer <sh@xxxxxxx>
  • Date: Tue, 15 Feb 2005 11:33:48 +0100
  • Message-id: <200502151133.48392.sh@xxxxxxx>
On Monday 14 February 2005 22:07, Thomas Wedehase wrote:
> Es wird auch alles soweit richtig angezeigt, bis auf mengeEdit und
> einheitEdit. obwohl beide nur in einer Spalte sind und nameEdit in zwei
> Spalten erscheinen alle 3 Felder ziemlich gleich lang.
> Wie kann ich für die zwei erstgenannten Felder die minimale Länge oder eine
> definierte Länge angeben??

Du kannst für jede Spalte und auch für jede Zeile einen "Ausdehnungsfaktor"
angeben - QGridLayout::setColStretch(). Spalten/Zeilen, die sich gar nicht
ausdehnen sollen, bekommen hier einfach 0, andere einen höheren Wert. Der
Wert gibt jeweils das Verhältnis an, wie überschüssiger Platz auf die
jeweilige Spalte/Zeile verteilt werden soll. Wenn alle den Wert 1 bekommen,
wird dieser Platz gleich verteilt.

Die Doku sagt auch ganz klar, daß der Default zwar 0 ist, daß aber in genau
diesem Fall (wenn alle den Faktor 0 haben) diese 0 schlicht ignoriert wird,
weil ja überschüssiger Platz _irgendwo_ untergebracht werden muß.


Eine andere - flexiblere - Möglichkeit ist es, für einzelne Widgets eine
SizePolicy zu setzen. Dabei kann man für vertikal und horizontal jeweils
angeben, ob sich ein Widget beliebig ausdehnen und/oder verkleinern darf,
eine fixe Größe haben soll (die sich dann aus SizeHint() ergibt) oder
vorzugsweise den SizeHint() berücksichtigen soll und sich dann ggf. noch
ausdehnen darf. Siehe auch QWidget::setSizePolicy().

> habe in der Doku schon geschaut, werde daraus aber nicht ganz schlau.

Ja, das haben sie recht gut versteckt, die Trolls. ;-)


Viele Grüße aus der (genauso verschneiten) Nordstadt Nürnbergs
--
Stefan Hundhammer <sh@xxxxxxx> Penguin by conviction.
YaST2 Development
SUSE Linux Products GmbH
Nuernberg, Germany

< Previous Next >
References