# How to get the coordinate of QGraphicsEllipseItem's object ?

• Hi..
I try to get the coordinate of a moving circle that was made using QGraphicsEllipseItem on the scene, but the result always (0,0). I appreciate if there is any comment or suggestion, thank you...
@
... QGraphicsEllipseItem *myCircleItem = new QGraphicsEllipseItem(
QRect(550,200,50,50));
myCircleItem->setPen(QPen(Qt::black));
myCircleItem->setBrush(Qt::blue);
myCircleItem->setFlags (QGraphicsItem::ItemIsMovable);

``````scene->addItem(myCircleItem);

posisiCircleX = myCircleItem->pos().x();
posisiCircleY = myCircleItem->pos().y();
qDebug() << "coordinate myCircelItem (x,y) : " << posisiCircleX <<" , "<< posisiCircleY;
``````

...
@

• and you're calling pos() also after it has been moved?

• There's two things here:
The position - pos(), which you change using setPos. This is the position of the whole item relative to it's parent.

And the rectangle - rect() which you change using setRect. This contains both the offset and size of the ellipse, relative to the position given.
In your case, you only specify a rectangle, therefore the position is always zero.

How to use correctly:
Think about where you'd like to have the "origin point" of your ellipse or circle. In the center? In this case, use something like this:
@
pEllipseItem->setRect(-20.0, -20.0, 40.0, 40.0);
pEllipseItem->setPos(50.0, 80.0);@

Now the center of the circle (in this case) will be at 50.0 / 80.0

• Thanks that is solved using setRect and setPos as your suggestion.
Now, the coordinate not (0,0) again. :)

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.