Seite 1 von 1
Signal wenn Fenster nicht mehr maximiert ist.
Verfasst: 27. Juni 2007 16:14
von daimonion
Hallo
Ich bin recht neu in der QT-Programmierung drin und hab schon die erste Frage.
Wie kann ich denn das Signal abfangen, wenn der Benutzer in einem maximiertem Fenster den Button fürs maximieren drückt, so dass das Fenster nicht mehr maximiert ist und wieder als ganz normales Fenster angezeigt wird.
Grund:
Ich will dann ein Resize machen -->
Danke schon mal für eure tipps
Gruß
Daimonion
Verfasst: 27. Juni 2007 16:19
von @udisello
Wenn ich dich richtig verstanden habe, willst du dann dein Fenster wieder maximieren??? Wenn dem so ist, kannst Du auch einfach den Maximieren Button wegnehmen.
Verfasst: 27. Juni 2007 16:34
von daimonion
Ne, nicht ganz. Ich will das Fenster, wenn es aus dem maximierten Modus kommt, so resizen, dass es eine akzeptable Größe hat..
Das Problem ist, wenn ich das Programm starte, soll es direkt maximiert gestartet werden.
Das mache ich folgendermaßen:
Wenn das Fenster dann aus diesem Modus mittels Button rausgeholt wird, dann sieht es natürlich total blöd aus, weil es sehr klein ist.
Mir ist aber gerade die Idee gekommen, bevor ich es mittels oben genannten code vergrößere erst mal zu resizen.. dann siehts auch wieder normal aus, wenn es aus dem maximierten Modus wieder rauskommt.
Code: Alles auswählen
this->resize(1024,768);
if (!this->isMaximized()) {
this->showMaximized();
}
Grüße Daimonion
Verfasst: 27. Juni 2007 19:16
von upsala
Warum gehst du eigentlich davon aus, daß der Benutzer eine Desktopgröße von 1024x768 Pixel hat? Und warum denkst du, dem Benutzer verbieten zu müssen, ein Fenster zu verkleinern?
Verfasst: 27. Juni 2007 20:30
von daimonion
Ich gehe nicht davon aus, dass ein Benutzer 1024x768 Pixel hat. Das ist eher nur eine Annahme.
Ich hab diesen Wert gewählt, damit das Fenster, wenn es aus dem maximierten Modus kommt, nicht derart klein ist, dass man es erst wieder vergrößern muß um etwas zu erkennen. Die Größen an sich ist egal. Das Fenster ist so aufgebaut, dass sich die enthaltenden Elemente (Dockwidgets, Tabwidgets) selber an die Größe anpassen. Is halt nur so, dass man nichts mehr erkennt, wenn es zu klein ist.
Des Weiteren kann ich davon ausgehen, dass das Programm ausschließlich auf Desktopsystemen größer 1600x1050 arbeitet.
Die Lösung die ich jetzt reinprogrammiert habe, ist meiner Meinung nach ein Workaround.
Ich würde es lieber so machen, dass beim Verlassen des maximierten Modus ein Signal ausgelöst wird, welches ich dann bedienen kann.
Verfasst: 28. Juni 2007 07:19
von macman
daimonion hat geschrieben:Is halt nur so, dass man nichts mehr erkennt, wenn es zu klein ist.
Schon mal was von Layouts gehört? Gib deinem Fenster, bzw. den einzelnen Widgets, doch einfach eine Mindestgröße und fertig.
Verfasst: 28. Juni 2007 10:53
von daimonion
Interessant. Im Laufe meiner Entwicklung hab ich genau das gemacht, so dass ich das resize getrost wieder wegschmeißen kann..
Nun will ich aber interessehalber dennoch wissen, ob das mit auch prinzipiell mit nem Signal gehen würde....