1

OpenGL アプリケーションがあり、それに GUI を追加したいと考えています。

私の問題は、ウィンドウとメインループを作成する方法を維持したいということです。実際、私は自分のアプリケーションを維持したいのですが、シーンとやり取りするウィジェットをいくつか追加するだけです...

QApplicationをオーバーロードすることでOpenGLをレンダラーとして使用できることはわかっていますが、ウィンドウが作成され、不要な別のOpenGLコンテキストが作成されます... QGLWidgetを使用してOpenGLシーンをレンダリングできることはわかっていますが、そうではありません私も欲しいものに合う...

解決策を見つけることなく、多くのフォーラムを検索しました。それが可能かどうか知りたいのですが、可能であればそれを達成する方法は何ですか?

それができない場合、それを行う方法はありますか?CEGUI はそれを実行できるようですが、私の意見では、それは少し若いように見えますか?

4

2 に答える 2

1

私の問題は、ウィンドウとメインループを作成する方法を維持したいということです。

Qt ウィジェット システムを使用するには、QApplication とそれが生成するイベント システムを使用する必要があります。同じリソース (ウィンドウ、ユーザー入力、シグナルの受信と配信) 間で 2 つのイベント ループが競合することはできません。

実際、私は自分のアプリケーションを維持したいのですが、シーンとやり取りするウィジェットをいくつか追加するだけです...

次に、ローリング・ストーンズの美しい歌があなたに当てはまります。

ところで?現在、どのようにウィンドウを作成していますか? グラット?次に、QGLWidget から派生してその をオーバーライドし、resizeGL0の遅延タイマーをアイドルとして 2 倍にすると、GLUT とまったく同じ動作が得られます。paintGLtimerEventmouse*Event

Qt のフレームワークとイベント システムがまさに必要なものであることに気付くかもしれません。

于 2013-05-10T18:08:12.430 に答える