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/Imag.../091227_01.jpg
http://dl.dropbox.com/u/1119453/Imag.../091227_02.jpg
Source:
Merci d'avance pour toute solution ou explication.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 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);
Partager