Bonsoir,

J'ai des soucis pour faire 1 rotation d'une QGraphicsScene.

J'ai une QGraphicsPixmapitem, 1 QGraphicsRectitem, et 2 QGraphicsLine.

Mon QGraphicsRectItem est déclaré comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
QGraphicsRectItem* ajout_rectangle = new QGraphicsRectItem(0,0,100,100);
ajout_rectangle->setPos(50,50);
ajout_rectangle->setBrush(QBrush(Qt::black)); ajout_rectangle->setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable);
scene->addItem(ajout_rectangle);
Même principe pour mes QGraphicsLineItem.

J'arrive à effectuer 1 rotation du QGraphicsPixmapItem comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
img=item->pixmap().toImage();
QTransform t;
QImage img2 = img.transformed(t.rotate(rot));
item->setPixmap(QPixmap::fromImage(img2));
Pour le QGraphicsRectItem et les QGraphicsLineItem je fais ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
item->setTransformOriginPoint(item->pos());
item->setRotation(90);
Je ne vois plus les items ( hors view je pense ), si je ne met pas setTransformpoint, je vois toujours le rectangle

Merci pour votre aide.