GraphicsItem 鼠标点击事件出错??
我在场景中创建并添加了三个项 代码如下:
QPixmap p1,p2,p3;
PicItem *item1=new PicItem(p1);
t_scene->addItem(item1);
item1->setPos(100,100);
PicItem *item2=new PicItem(p2);
t_scene->addItem(item2);
item2->setPos(200,200);
PicItem *item3=new PicItem(p2);
t_scene->addItem(item3);
item3->setPos(300,300);
PicItem类继承GraphicsItem类 部分成员函数如下:
void PicItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
QPointF start(100,100);
QPointF end(0,0);
addPositionAnimation(this,start,end);
}
void PicItem::addPositionAnimation(PicItem *item,QPointF start,QPointF end)
{
QPropertyAnimation* propertyAnimation = new QPropertyAnimation(item, "pos");
propertyAnimation->setDuration(1000);
propertyAnimation->setStartValue(start);
propertyAnimation->setEndValue(end);
propertyAnimation->setEasingCurve(QEasingCurve::InCirc);
propertyAnimation->start(QAbstractAnimation::DeleteWhenStopped);
}
问题:当第一次点击这三个项的中的任何一项,这项的位置会发生变化(调用了addPositionAnimation), 但随后再点击 剩下两项 时 依然是第一次点击的项位置发生变化 不知道为什么啊????