5

Qt Creator (OS Ubuntu 13.04) でアプリケーションを作成しました。1 つの関数はウィンドウを作成し、GLUT ライブラリを使用してグラフィックを描画します。画像は右です。しかし、ウィンドウを閉じてプログラムで作業を続けようとすると、終了します。どうすればこれを回避できますか?

私の関数のコードがあります:

void plot(int argc, char**argv,.../*other arguments*/)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA | GLUT_ALPHA);
    glutCreateWindow("Green Window");
    //some code
    //...
    glutDisplayFunc( draw );
    glutMainLoop();
}        

アプリケーションの出力に「... exited with code 0」と表示される

4

3 に答える 3

3

たとえば、この参照glutMainLoopglutMainLoopを読むと、それが二度と戻らないことがわかります。つまりexit、返される代わりに直接呼び出されます。

Qt を使用している場合、OpenGL コンテキストを含むウィンドウを開くことができます。ウィンドウは Qt の残りの部分と互換性があり、自由に閉じることができます。

于 2013-07-31T13:52:54.550 に答える
2

FreeGlut用。GLUTで作成したウィンドウだけを閉じたい場合。見て:

int handle = glutCreateWindow("Red square example");
glutSetOption(GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION);

結構です。

于 2018-07-07T19:16:21.643 に答える