J'ai fait de longues recherches sur le web mais je ne trouve rien de clair. Je pense que la réponse est évidente mais je suis né en Qt. Pourquoi ce code ne fonctionne pas? Mes fenêtres s'ouvrent rapidement.Comment créer et afficher la MainWindow en dehors du Main()?
Main.cpp
#include <QApplication>
#include "test.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Test test;
return a.exec();
}
Test.cpp
#include "test.h"
Test::Test()
{
MainWindow w;
w.show();
}
Et celui-ci le travail (la fenêtre ouverte à garder):
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Merci!
C'est une question de portée. Votre fenêtre n'existe plus dans votre premier exemple (après que le constructeur a fini) alors que la portée dans le second exemple est aussi longue que main(). – drescherjm
Merci les gars! – Skydyver