Qtを使用していくつかの科学データ用のOpenGL視覚化プログラムを作成しようとしています。私は既存のプログラムをそのまま使用でき、glwidgetを呼び出して、各タイムステップの最後にデータを更新するように伝えることができるようにしたいと考えています。しかし、Qtプログラムを実行するには、QApplication
を使用してから、qt.run()
を使用してCPUをブロックする必要があります。ここでOpenGLとQtによる科学的視覚化
は私がQThread
への私の既存のコードのすべてを入れて、更新に接続するために行われている時はいつでも、それは信号を送るかもしれないことを認識した擬似コード
main()
{
..set up stuff
myVisualizer = new myGLWidget();
for(int i=0;i<1000;i++)
{
..do calculations
myVisualizer.update(new data)
}
}
です。この方法で簡単にできます。誰かがこれを解決する方法を知っていますか?
タイマーを使用して私がそれをやる方法ですこの答えをUpvoted。別のスレッドの必要はありません。 しかし、私は再描画スロットへのシングルショットタイマーの必要性と、なぜウィジェットがQGLWidgetではなくQDialogのサブクラスであるのか分かりません。 – Troubadour