Seite 1 von 1

Verständnisfrage

Verfasst: 17. September 2006 19:24
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]

Verfasst: 19. September 2006 10:36
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