Seite 1 von 1

[ERLEDIGT] Öffnen eines zweiten Main Windows

Verfasst: 15. Januar 2011 19:49
von crossfader
Hi!

Es ist mir ja schon fast peinlich, dass ich schon wieder eine Frage stelle ;)

Ich habe mich jetzt wieder mehr mit Qt beschäftigt und bin an dem Punkt, dass ich mit mehreren Formen arbeite.
Zuerst öffnet sich ein Loginscreen, wenn der Login korrekt ist (wird durch eine PHP API geprüft), dann soll sich das eigentliche Hauptfenster öffnen:

Code: Alles auswählen

//Login erfolgreich, Hauptbildschirm öffnen
        MainScreen* m = new MainScreen(this);
        m->show();
        //Loginfenster verstecken
        this->hide();
Das Loginfenster verschwindet, mein Hauptbildschirm erscheint. Jedoch verschwindet meine Anwendung immer aus der Taskleiste..

Gibt es eine Möglichkeit, meinen MainScreen zu dem Hauptfenster zu machen? Oder hätte ich besser das Loginfenster von meinem MainWindow aus öffnen lass sollen (modal)?

Gruß,
Olli

Verfasst: 15. Januar 2011 19:58
von padreigh
vielleicht ist auch QStackedWidget was du suchst ... Seite 1 Login, dann Seite 2 usw :)

Verfasst: 15. Januar 2011 20:06
von crossfader
Hmm.. dann habe ich aber wieder das Problem mit den Größen (Fenster). Ich müsste dann nach dem Einloggen sofort die Fenstergröße ändern.

Ich wollte gerne relativ schmalen Code haben, somit also verschiedene Dateien.

Verfasst: 15. Januar 2011 21:55
von upsala
Im Konstruktor vom MainWindow einen Single-Shot-Timer mit 0ms starten. Damit die Benutzeranmeldung abfragen und bei Abbruch ein close() aufs MainWindow ausführen.

Verfasst: 15. Januar 2011 22:29
von gon
Ich habe hier eine ähnliche Anwendung.
zuerst öffnet sich ein Mainwindow mit einer Programmauswahlmöglichkeit, danach ein Dialog mit einem Login und dann als Dialog das eigentliche "Hauptfenster". Bei Programmende kommt noch einmal das Auswahlfenster mit der Möglichkeit einen anderen Programmteil auszuwählen oder das Programm zu verlassen. Das Auswahlfenster ist nur versteckt während der Anwendung. Jedes Fenster hat eine eigene Größe.
Vielleicht ist das eine Möglichkeit.

Verfasst: 15. Januar 2011 22:40
von crossfader
Hmmm... mir geht es ja eigentlich nur darum, dass mein Fenster in der Taskleiste angezeigt wird...

Ich denke mal, dass das einfach nicht geht, da in meiner main() funktion nur die Klasse MainWindow (Login Formular) instanziiert wird.

Ich werde das jetzt folgendermaßen ändern:
In der main.cpp anstatt meines Loginformulars das eigentlich geschützte Hauptfenster öffnen und vom Hauptfenster aus das Login aufrufen, so müsste es eigentlich funktionieren.

Danke an alle ;)

Gruß,
Olli