与google.com/maps类似,我希望这样做,以便如果鼠标悬停在QGraphicsItem上,则当前后移动滚轮鼠标时,鼠标下方图像的区域就是QGraphicsView的中心。
我可以在创建的自定义QGraphicsIte的wheelEvent方法中完成此操作吗?
我有一些这样的代码
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());
我可以添加些什么以获得所需的效果?
例如,在Google地图中,如果将鼠标悬停在犹他州上,并继续使用滚轮鼠标进行放大,那么最终,犹他州就是视口中唯一剩下的东西。
最佳答案
另请参见setTransformationAnchor( QGraphicsView::AnchorUnderMouse );
http://doc.qt.io/qt-4.8/qgraphicsview.html#ViewportAnchor-enum
关于c++ - 在Qt 4中直接在鼠标下缩放图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5107826/