Dans le code ci-dessous, je crée une fenêtre, appelez window.show()
, mais la fenêtre n'apparaît qu'après l'appel de window->iterateSolution()
. Presque comme si, app.exec()
est la fonction qui montre la fenêtre. Je suis très nouveau à Qt, donc je n'ai aucune idée de ce qui se passe.Qt: mainWindow-> show(); n'affiche pas la fenêtre principale
#include <QtGui/QApplication>
#include <mainWindow.h>
#include <Cube.h>
mainWindow * newWindow;
int main(int argc, char *argv[]) {
// initialize resources, if needed
// Q_INIT_RESOURCE(resfile);
QApplication app(argc, argv);
newWindow = new mainWindow;
newWindow->show();
QString initialState = "YWOBYYBYYGRRGRRBWWYOOYGGRGGBBGYOOYOOWRRBBRBBWGOOGWWRWW";
/* Construct cube, set state, and solve */
Cube * cube = new Cube(initialState);
QString solution = cube->solve();
delete cube;
newWindow->iterateSolution(solution);
// create and show your widgets here
return app.exec();
}
D'accord, mais où voudrais-je exécuter mes fonctions? – dfetter88
Mettez le code entre mainWindow-> show() à app.exec() dans un emplacement "run" sur mainWindow et utilisez QTimer :: singleShot (0, mainWindow, SLOT (run())) pour l'exécuter depuis le boucle d'événement. – baysmith
Habituellement, vous pouvez également opérer sur le widget pas encore visible avant même qu'il ne soit visible. –