Я установил boundingRect()
моего QGraphicsItem
на определенную координату на сцене. Как изменить координаты на основе QGraphicsItem::mouseMoveEvent
?Как изменить положение объекта boundingRect() объекта QGraphicsItem на QGraphicsScene?
Ниже приведен код, который я написал. Но этот код только устанавливает положение формы, которую я нарисовал в пределах boundingRect()
, до координаты внутри boundingRect()
. То, что я хочу сделать, - переместить весь QGraphicsItem
в заданную координату.
void QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
QGraphicsItem::mouseMoveEvent(event);
if (y()>=394 && y()<425) //if in the range between 425 and 394 I want it to move to 440.
{
setPos(440, y());
}
else if ... //Other ranges such as that in the first if statement
{
... //another y coordinate
}
else //If the item is not in any of the previous ranges it's y coordinate is set to 0
{
setPos(0,y()); //I had expected the item to go to y = 0 on the scene not the boundingRect()
}
}
Сцена 880 на 860 и boundingRect()
устанавливается следующим образом:
QRectF QGraphicsItem::boundingRect() const
{
return QRectF(780,425,60,30);
}