2009-05-28 14 views
0

私はLinuxで作業中です[GCCコンパイラ] コンパイルにCDT + QTでEclipseを使用しています QTウィンドウとOpenGL関数を使用してDICOMイメージのシーケンスを表示する必要があります。 plsは画像のシーケンスを表示する関数を教えてくれます 私は3つの関数を使用しています 1)InitallizeGL()はOpenGL関数を初期化します。 2)glutのglutInitWindowSize()の代わりにresizeGL()を使用します。 3)GlutのglutDisplayFunc()の代わりにpaintGL()を使用します。 4)GlutのglutPostRedisplay()の代わりにupdateGL()を実行します。QTを使用してDICOMイメージのシーケンスを表示する際の問題

また、私はQTのGlut同等の機能であることを教えてください glutMainLoop(); glutSwapBuffers(); glutInitDisplayMode(); glutIdleFunc(アイドル); glutInit(& argc、argv);

答えて

0

私はすでにQTがgluSwapBuffers、glutInitDisplayMode、glutInitを扱っていると言いたいので、それらは必要ありません。 関数のマッピングが正しいかどうかわかりません。QtとGlutはGLについて別のやり方で考えるかもしれません。同じように(別の考え方で)考える必要があり、Qtメソッドはかなり説明的です。 どのように動作するかをより良く理解するために、KGLEngineや他のQt + GLプロジェクトのコードをダウンロードすることをお勧めします。

4

QGLWidgetをペイントデバイスとして使用するだけで簡単にイメージを表示できるようになります。これは、特定の用途に応じて、実装を単純化する可能性があります。これはQtのOpenGLペイントエンジンを使って画像を描画します。次のようなものは、イメージを表示できるようにする必要があります。

class CustomWidget : public QGLWidget 
{ 
public: 
    CustomWidget(QWidget* parent=0) : QGLWidget(parent), pix("foo.jpg") 
    { 

    } 

protected: 
    void paintEvent(QPaintEvent *pe) 
    { 
     QPainter p(this); 
     // maybe update the pixmap 
     p.drawPixmap(this->rect(),pix); 
    } 

private: 
    QPixmap pix; 
}; 

3Dシーンに配置する必要がある場合は、おそらく画像をテクスチャとしてロードする必要があります。 Qt OpenGLデモのいくつかは、あなたに出発点を与えることができます。 'Boxes'デモ。

http://doc.trolltech.com/4.6-snapshot/demos-boxes.html

関連する問題