QT 视图场景 坐标理解
一、理论
二、理解
1、对于QGraphicsItem 坐标,比如创建一个QGraphicsRectItem ,,红色框给定的矩形参数为(-50,-50,100,100),蓝色框为(0,0,100,100).
2、 对于场景,,addItem 默认是把图元项的中心放到场景中心,,假使上图中心就是场景中心。。两个不同的矩形参数的图元显示上就和上图一致。
而如果对图元进行坐标设置 setPos(100,100),坐标是场景坐标,则显示会如下
3、场景 可以设置 setSceneRect,则是表示视图可以观测的区域,如果视图大小比较小,则会出现滑块,,默认视图是观察到场景可观测区域的中心,,
如下,如果setSceneRect(-500,-500,1000,1000),则视图中心就是场景中心
但是如果setSceneRect(0,0,1000,1000),则视图中心看到的是 (500,500)那个点
4、对于自定义的图元,需要重载如下函数
QRectF boundingRect() const;
void paint(QPainter *painter,const QStyleOptionGraphicsItem *option,QWidget *widget);
QPainterPath shape() const;
同样的,,这里面涉及到的矩形,,和 1 、 2 点是一个概念
综上,,图元自己的外形、边框等 都按自己的坐标去画。。
图元在场景中的位置,,比如设置为(100,100),是代表 图元自己中心位置(0,0)移动到 场景的 (100,100)位置。
原文地址:https://blog.csdn.net/HUANG_XIAOJUN/article/details/135852339
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!