Verständnisfrage

Alles rund um die Programmierung mit Qt
Antworten
Karldin Shinowa
Beiträge: 30
Registriert: 3. Mai 2006 18:12

Verständnisfrage

Beitrag von Karldin Shinowa »

So ich habe 2 Widget Klassen: MainMenu und Window1

Code: Alles auswählen

int main(int argc, char*argv[])
{
   
   QApplication*app=new QApplication(argc,argv);
   MainMenu Menu;
   Menu.show();

   Window1 win;
   win.showIt();//ruft show und noch sachen auf
   
   

   return app->exec();
}
So gedacht hätte ich jetzt dass er das 1. startet, wartet bis es zurückkommt(geschlossen wird) und dann das 2. startet. Macht er aber net. Beide Werden gestartet. Wieso?? Wie läuft das ab??? Wie kann ich sie nacheinander starten lassen?[/quote]
Wer früher stirbt ist länger tot
tscher
Beiträge: 13
Registriert: 24. Mai 2006 15:11

Beitrag von tscher »

Hi,

probiers mal so:

Code: Alles auswählen


int main(int argc, char*argv[])
{
   
   QApplication*app=new QApplication(argc,argv);

   MainMenu Menu;
   Menu.show();
   app->exec();

   Window1 win;
   win.showIt();//ruft show und noch sachen auf
   return app->exec();
}

Du baust zuerst dein MainMenu auf. Mit app->exec() schickst Du Qt in die Event Loop, und es arbeitet das User Interface ab. Wenn das Widget geschlossen wird kommt app->exec() zurück. Dann baust Du dein 2. Widget auf und startest wieder die Event Loop.

Hab´s nicht getestet, sollte aber IMHO so funktionieren.

lG,
tscher
Antworten