到google.com/maps类似,我想它,如果我的鼠标在的QGraphicsItem,然后当我移动滚轮鼠标向前和向后,图像的区域下的鼠标是在我的QGraphicsView中居中。缩放图像4
我可以在自定义的wheelEvent方法做到这一点QGraphicsIte我已经创建了?
我有这样
update();
qreal factor = 1.2;
if (event->delta() < 0)
factor = 1.0/factor;
scale(factor, factor);
scaleFactor *=factor;
this->scene()->setSceneRect(0,0,this->boundingRect().width(), this->boundingRect().height());
我能加入到这样的代码,得到期望的效果?
举个例子,在谷歌地图,如果你将鼠标放在犹他,并保持与滚轮鼠标放大,最终犹他是留在视口中的唯一的事情。
我能做到这一点从的QGraphicsItem的轮事件中?该项目是什么有wheelEvent,而不是QGraphicsView – Derek 2011-02-24 20:20:10
啊,我认为你的wheelEvent是在QGV。如果它在QGI中,你应该仍然可以做到。唯一的区别在于你确定'(x,y)'(使用QGraphicsSceneMouseEvent :: screenPos)和'(mx,my)'(使用QGraphicsSceneMouseEvent :: scenePos)的方式。无论如何,我认为在QGV而不是QGI中实施wheelEvent更清洁。 – 2011-02-24 21:49:32