2009-05-28 14 views
0

Je travaille sous Linux [Compilateur GCC], J'utilise Eclipse avec CDT + QT pour compiler J'ai besoin d'afficher une séquence d'images DICOM en utilisant la fenêtre QT et les fonctions OpenGL pls laissez-moi savoir quelle est la fonction pour afficher la séquence d'images J'utilise 3 fonctions 1) initallizeGL() pour initallize les fonctions OpenGL. 2) resizeGL() au lieu de glutInitWindowSize() dans Glut. 3) paintGL() au lieu de glutDisplayFunc() dans Glut. 4) updateGL() au lieu de glutPostRedisplay() dans Glut.Problème dans l'affichage de séquence d'images DICOM utilisant QT

également pls laissez-moi savoir quelles sont les fonctions équivalentes Glut dans QT glutMainLoop(); glutSwapBuffers(); glutInitDisplayMode(); glutIdleFunc (inactif); GlutInit (& argc, argv);

Répondre

0

Je dirais que Qt s'occupe déjà de gluSwapBuffers, glutInitDisplayMode et glutInit, donc vous n'en avez pas besoin. Je ne suis pas sûr non plus si votre cartographie des fonctions est correcte, simplement, Qt et Glut pensent à GL d'une manière différente, donc vous devez faire la même chose (penser différemment) et les méthodes Qt sont assez explicites . Je vous recommande de télécharger le code de KGLEngine ou tout autre projet Qt + GL pour mieux comprendre comment cela fonctionne.

4

Vous devriez être en mesure d'afficher facilement des images en utilisant simplement QGLWidget comme outil de peinture qui, selon votre utilisation spécifique, pourrait simplifier votre implémentation. Cela dessine l'image en utilisant le moteur de peinture OpenGL dans Qt. Quelque chose comme ce qui suit devrait vous permettre d'afficher une image;

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; 
}; 

Si vous devez le placer dans une scène 3D, vous devez probablement charger l'image en tant que texture. Certaines démos Qt OpenGL devraient être en mesure de vous donner un point de départ, par ex. la démo 'Boxes';

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