Seite 1 von 1
Window Größe soll "fixed" sein
Verfasst: 4. Juli 2006 08:28
von Mystique
Hallo,
ich versuche nun schon ewig die Größe meines Mainwindows auf nicht veränderbar zu setzen, aber irgendwie scheint mir das Licht noch nicht aufgegangen zu sein wie das möglich ist.
Hat jemand ein paar Hints?
Verfasst: 4. Juli 2006 08:52
von DarkWotan
Verfasst: 4. Juli 2006 12:49
von Sym
Hmm,
dabei ist der Methodenname doch ideal
setFixedSize(...)
Verfasst: 4. Juli 2006 13:00
von DarkWotan
setFixedSize() legt aber zusätzlich zum Layout auch noch die neue Größe des Fensters fest, was unter Umständen unerwünscht sein kann.
MfG, Cedric
Verfasst: 4. Juli 2006 15:55
von Sym
Unter welchen Umständen?
Verfasst: 5. Juli 2006 06:54
von DarkWotan
Sym hat geschrieben:Unter welchen Umständen?
Na z. B. könnte der Benutzer das Fenster noch in der Größe verändert haben wollen, bevor es `fixed' wird. Dabei erst noch die aktuelle Größe herauszufinden und dann setFixedSize() aufzurufen finde ich nicht elegant.
MfG, Cedric
Verfasst: 5. Juli 2006 07:19
von macman
Man beachte doch nur mal die Doku.
void QWidget::setFixedSize ( const QSize & s )
Sets both the minimum and maximum sizes of the widget to s, thereby preventing it from ever growing or shrinking.
This will override the default size constraints set by QLayout.
Alternatively, if you want the widget to have a fixed size based on its contents, you can call QLayout::setSizeConstraint(QLayout::SetFixedSize);
Wichtig ist hierbei der letzte Satz. SetFixedSize mag interessant sein für Widgets innerhalb eines Dialogs, aber nie für den Dialog selbst. Damit der sich dem Inhalt anpassen kann, sei es durch dynamische Sprachumschaltung oder verstecken von Widgets, ist setSizeConstraint angesagt. Damit kann das Programm noch die Größe ändern, aber nicht der User per Maus.