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 :
Même principe pour mes QGraphicsLineItem.
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);
J'arrive à effectuer 1 rotation du QGraphicsPixmapItem comme ceci :
Pour le QGraphicsRectItem et les QGraphicsLineItem je fais ça :
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));
Je ne vois plus les items ( hors view je pense ), si je ne met pas setTransformpoint, je vois toujours le rectangle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 item->setTransformOriginPoint(item->pos()); item->setRotation(90);
Merci pour votre aide.
Partager