QGraphicsView::mousePressEvent(event);if(this->scene() == nullptr) { qDebug() <<"The scene is null";return; }// 记录鼠标按下时的中心点坐标centerAnchor = mapToScene(event->pos()) - event->pos() + QPointF(width() /2, height() /2);// 记录当前鼠标在view中的位置,用来在mouseMove...
88 moveBy(event->pos().x()*qrealOriginScale*0.1, event->pos().y()*qrealOriginScale*0.1);//使图片缩放的效果看起来像是以鼠标所在点为中心进行缩放的 89 } 90 } 91 } 92 93 void ImageWidget::setQGraphicsViewWH(int nwidth, int nheight)//将主界面的控件QGraphicsView的width和height传进...
qreal viewHeight=this->viewport()->height();//获取当前鼠标位置相当于view大小的横纵比例;qreal hScale = cursorPoint.x() /viewWidth; qreal vScale= cursorPoint.y() /viewHeight;//当前放缩倍数;qreal scaleFactor =this->matrix().m11();intwheelDeltaValue =event->delta();//向上滚动,放大;if(w...
height();//获取界面控件Graphics View的高度 m_pImage->setQGraphicsViewWH(nwith, nheight)...
1QGraphicsView::scale(xScale,yScale);//在分别在x,y方向上缩放xScale,yScale倍。若为1.0倍,则不进行缩放。 2QGraphicsView::rotate(90);//顺时针旋转90度 1. 2. (二)场景边框与场景对齐方式 我们在上面讲场景时就提到了场景边框(SceneRect),这里再说说它在视图中的作用。我们前面说过,视图是可以提供滚动...
并根据图像的长宽和控件的长宽的比例来使图片缩放到适合控件的大小 void QImageWidget::setQGraphicsView...
2.缩放(参见如下代码块) 3.按缩放比例计算得到 经历缩放后 target的新位置_target 4.计算位移量 5.移动画布 缩放部分 #defineZOOM_IN_TIMES -5#defineZOOM_OUT_TIMES 5voidscaledemo::wheelEvent(QWheelEvent*event){qreal s=0;boolin=true;boolout=true;if(event->delta()>=0){scaleValue+=1;}if(event...
(QColor(10,10,10,100)),cornerPen=QPen(Qt.black,2),cornerSize=QSizeF(10,10),cornerBrush=QBrush(Qt.white)#):super().__init__()self.id=idself.size=sizeself.centerPen=centerPenself.centerBrush=centerBrushself.cornerPen=cornerPenself.cornerSize=cornerSizeself.cornerFix=Noneself.refresh...
class MyGraphicsView : public QGraphicsView // 自定义视图类,实现对视图的缩放和旋转 { public: MyGraphicsView() {} public slots: void zoomIn() { scale(1.2, 1.2); } void zoomOut() { scale(1/1.2, 1/1.2); } void rotateLeft() { rotate(-30); } ...