为何在QGraphicsItem的鼠标处理函数中获取坐标不对?解决方案

为何在QGraphicsItem的鼠标处理函数中获取坐标不对?
我在QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)中获取当前鼠标的坐标,使用函数event->pos(),发现值很怪,是(0,1080205312)之类的值,而且x始终是0,y值则很大。按帮助说明,这获取的是item坐标系下的坐标,而我的item的大小为170*170,且设置了在scene中的位置,也在预期的位置显示出来了,就是获取不了正确的鼠标坐标。哪位达人帮忙分析下,是哪里出了问题?我已经看了一整天了,没头绪啊!

------解决方案--------------------
试试 event->scenePos() 呢?

如果不行再 mapFromScene(event->scenePos())
------解决方案--------------------
试试QCursor::pos()。

void MyItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
void MyItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
上面两个函数处理里并没有处理位置,建议放到父类view里去做,
void MyGraphView::mousePressEvent(QMouseEvent *event);在这里用event->pos()是可以的。

------解决方案--------------------
探讨

我奇怪的是,为什么非得做一次强制转换成int才能得到正确的值?