到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