Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

2 QGraphicsView avec QGLWidget

December 2009 modifié dans Année 2009
Bonjour.

Voilà, je me lance dans un petit programme de traitement d'image. J'utilise pour ça QGraphicsView et QGraphicsScene.
J'ajoute une image dans la scene avec QGraphicsPixmapItem.

Lorsque cette image est trop grande (j'en ai de 2500x2500px par exemple) ça rame trop, et pas moyen de faire le moindre traitement (opacité, rotation, etc...) ni même le bouger.

J'ai alors découvert qu'en faisant un setViewport(new QGLWidget) le traitement était beaucoup plus rapide, ce qui est le cas, peu importe la taille c'est vraiment génial, ça rame pas du tout.

Seulement voilà, tant que le graphicsview est tout seul ça va. Mais si je veux par exemple faire deux vue d'une même scene j'ai un problème: la rendu est saccadé, et l'item transformé (pas tous) devient par intermittences tout noir. Bref ça marche pas.
Exemples:
http://dl.dropbox.com/u/1119453/Images_upload/091227_01.jpg
http://dl.dropbox.com/u/1119453/Images_upload/091227_02.jpg

Source:
    vue1 = new Vue(this); //VUE hérite bêtement de QGraphicsView
vue2 = new Vue(this);

QGraphicsScene *scene = new QGraphicsScene;

vue1->setScene(scene);
vue1->setViewport(new QGLWidget);

vue2->setScene(vue1->scene());
vue2->setViewport(new QGLWidget);

this->centralWidget()->layout()->addWidget(vue1);
this->centralWidget()->layout()->addWidget(vue2);
Merci d'avance pour toute solution ou explication.

---
Qt: sdk 4.6 sous Ubuntu 9.10
Connectez-vous ou Inscrivez-vous pour répondre.