QGraphicsView以鼠标点实现放大缩小、拖拽 qt重写继承QGraphicsView,打开图像显示时自适应,以图像大小为坐标并显示鼠标移动和停留时的的坐标,CTRL和鼠标左键按下可移动图像,鼠标右键出现菜单栏,鼠标滚轮可放大缩小 QGraphicsView实现图片放大、缩小、鼠标拖动、以鼠标点放大缩小 Qt图像预览工具,可随鼠标位置缩放、拖动,有...
代码: 首先继承QGraphicsItem类写一个选择框,要求实现可以随便拖动,在符合尺寸要求的前提下改变大小,暴露出一些基本的接口 fromPySide6.QtWidgetsimport*fromPySide6.QtCoreimport*fromPySide6.QtGuiimport*classSelectionBox(QGraphicsItem):def__init__(self,id="SELECTION_BOX_1",pos=QPointF(0,0),size=QSize...
选择图片后可在graphicsView窗口中显示选择的图片,可以用鼠标拖拽图片。当鼠标停在图片上时滚动滑轮,以鼠标位置为中心缩放;当鼠标不在图片上时滚动滑轮,以图片自身中心进行缩放。 2、界面搭建 利用Qt designer 添加graphicsView控件。整个界面由两个垂直布局的groupBox组成,上面的groupBox中仅有一个graphicsView控件(即下图...
34 ui->graphicsView->setSceneRect(QRectF(-(nwith/2),-(nheight/2),nwith,nheight));//使视窗的大小固定在原始大小,不会随图片的放大而放大(默认状态下图片放大的时候视窗两边会自动出现滚动条,并且视窗内的视野会变大),防止图片放大后重新缩小的时候视窗太大而不方便观察图片 35 ui->graphicsView->setS...
void QGraphicsView::scale(qreal sx, qreal sy) 我们需要两个参数,sx,sy,指的是沿x,y缩放的比例,而不是大小。举个栗子: void MyView::wheelEvent(QWheelEvent*event) { int wheelValue = event->angleDelta().y(); double ratio = (double)wheelValue / (double)1200 + 1; ...
moveBy(event->pos().x()*qrealOriginScale*0.1, event->pos().y()*qrealOriginScale*0.1);//使图片缩放的效果看起来像是以鼠标所在点为中心进行缩放的 } } } voidImageWidget::setQGraphicsViewWH(intnwidth,intnheight)//将主界面的控件QGraphicsView的width和height传进本类中,并根据图像的长宽和控件...
我需要首先缩放图像,然后将缩放的图像添加到场景中。例如,图像原始大小为1536*1024,QGraphicsView大小...
首先,设计一个自定义的图形对象,继承自QGraphicsItem,其核心功能是创建一个可拖动的选择框。这个选择框需要具备可调整大小的特性,同时需要提供基本的接口以便于用户操作。接着,构建一个预览窗口,作为QGraphicsView的扩展,主要负责控制选择框的活动范围,以及根据图像内容的缩放需求进行同步更新。在这个...
1、缩放与旋转 QGraphicsView::scale(xScale, yScale);//在分别在x,y方向上缩放xScale,yScale倍。若为1.0倍,则不进行缩放。QGraphicsView::rotate(90);//顺时针旋转90度 功能实现: //重写QGraphicsView类中滑轮事件,完成缩放功能。MyGraphicsView为继承QGraphicsView的子类void MyGraphicsView::wheelEvent(...