MyGraphicsView为继承QGraphicsView的子类void MyGraphicsView::wheelEvent(QWheelEvent *event){// 获取当前鼠标相对于view的位置;QPointF cursorPoint = event->pos();// 获取当前鼠标相对于scene的位置;QPointF scenePos = this->mapToScene(QPoint(cursorPoint.x(), cursorPoint.y()));// 获取view的宽高;q...
比如,scene::addItem的操作,item的位置就是用scene的坐标系,而不是view(后面有内容) (3)view和scene:QGraphicsView::setScene进行绑定。 注意:默认情况下,如果view可以完全显示scene的内容,则scene的按照居中对齐的方式进行显示; 也就是说scene的中心点和view的中心点是重叠的,但scene的原点仍然是自身sceneRect的左...
1.先设置 setTransformationAnchor(QGraphicsView::AnchorUnderMouse) 2.再设置 centerOn,注意,使用的是scene坐标 3。设置 setTransformationAnchor(QGraphicsView::AnchorViewCenter) item的旋转问题: 我使用的是itemGroup,实际item效果应该和itemGroup一致。 让item围绕自己的中心在Z方向旋转,默认的旋转方向是顺时针,所以...
图形项目(QGraphicsItem及其子类)这些项目(QGraphicsItem)子类的实例是QGraphicsScene中包含的项目。 它们可以是线,矩形,图像,文本等。 🌺 视图类 — QGraphicsView QGraphicsView类是 Qt 窗口小部件类,可以将其放置在窗口上以显示QGraphicsScene,该窗口本身包含许多QGraphicsItem子类和/或窗口小部件。 与Q...
对于第3中来说,我们也是通过记录Scene中Item的状态改变。 在空间方面,我们利用Qt的接口处理不同的填充区域,如果我们添加一个笔画,那就只是添加了一个填充区域Item,而并非由非常多的Item组成的一条笔画;而如果我们擦除笔划,那么造成的笔画分离也不会产出太多了填充区域,这对空间是极大的减负。
QGraphicsView::mouseReleaseEvent(event); isMousePressed = false; } Tips:视图框架事件的传递顺序是view->scene->item,如果需要将事件继续向后传递,使用event->ignore()是没用的,猜测因为view看做是一个控件,scene和item都是控件内的组件,ignore只能处理控件到控件的事件,但是控件内的事件无能为力。这里可以使...
2、view,scene和item三者坐标转换 上图中,图片和矩形都放在QGraphicsItem里,红点为图形项零点(0, 0),因为一旦有了QGraphicsItem,scene会和item重合,所以红点处也为scene零点坐标(0, 0),但区别在于红点往左边一点,sence依然有坐标比如(-1, 0),但item直接返回空,无法计算item坐标,view视图坐标一直都是view显示...
(比如移动、叠加、碰撞、拖动、缩放、旋转等操作)时,我们就要用到Qt里的图形视图框架,QGraphicScene(场景)可以管理多个图形项QGraphicsItem(比如:QGraphicsRectItem(矩形的图形项,也就是图元)),QGraphicsView(视图)关联场景可以让场景中的所有图形项可视化,其次还提供了缩放和旋转,可以帮助文档中搜索Graphics View 关键...
scene(场景)坐标,属于逻辑坐标 logical coordinates(与QPainter相同),以场景中心为原点,正方向x朝右,y朝下。图元嵌入场景中,默认场景原点与图元原点对齐。场景默认的对其方式为居中对其,这个中指的不是原点,而是所有item的Rect的中心点,是计算出来的。如果scene的大小超过view的可显示最大值,此时将改成左上角对齐显示...
图形项默认无法接收悬停事件,可以使用QGraphicsItem的setAcceptHoverEvents()函数使图形项可以接收悬停事件。 二、运行图 (1)五个图形项的运行图如下图所示。 三、详解 1、QGraphicsScene [cpp]view plaincopy #ifndef MYSCENE_H #define MYSCENE_H #include <QGraphicsScene> ...