以下のコードでは、ウィンドウを作成してwindow.show()
を呼び出しますが、が呼び出されるまでウィンドウは表示されません。ほとんどの場合、app.exec()
はウィンドウを表示する関数です。私はQtがとても新しいので、何が起こっているのか分かりません。Qt:mainWindow-> show();メインウィンドウを表示しません
#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();
}
私の機能をどこで実行したいですか? – dfetter88
mainWindowの "実行"スロットのmainWindow-> show()とapp.exec()の間にコードを置き、QTimer :: singleShot(0、mainWindow、SLOT(run()))を使用して、イベントループ。 – baysmith
通常、まだ見えなくなっているウィジェットが表示される前に操作することもできます。 –