以下是凌乱的笔记。不要围观,以免浪费时间。
QGraphicsScene::setSceneRect ( qreal x, qreal y, qreal w, qreal h );
//以图片为视觉,设置图片左上角定点的坐标。设置多少就表示图片左上角坐标是多少。
//如:设置为 -110, -200, 那图片左上角sence的坐标都是这么多。其他的也一样。
//当鼠标点在图片左上角时,sence坐标永远显示-110, -200,
scene->setSceneRect(-width/2,-height/2,width,height);
//scene->setSceneRect(0,0,width,height);
//设置边界框过小时,并不影响图片的显示。决定图片显示面积的是view,只要view够大,图片就能够显示。
//从这一点来看,此时scene的w,h没有起到控制显示区域的作用
//scene->setSceneRect(100,200,300,100);
QGraphicsView::wheelEvent(QWheelEvent *even)
鼠标移动距离,如下图:
even->delta()-------废弃了,但在QT5.15还可以再用,只是有警告;
even->pixelDelta()--------在windows下吐出来都是0,不要用;
even->angleDelta().x()----------在windows下吐出来都是0
even->angleDelta().y()---------在windows下移动滚轮正常,推荐用;
QPoint QWheelEvent::pixelDelta() const
Note: On X11 this value is driver specific and unreliable, use angleDelta() instead
官方文档也是说,pixelDelta依赖驱动且不可靠,推荐使用angleDelta()