QT 视图场景 坐标理解

本文详细解释了QGraphicsItem在Qt图形系统中的坐标使用,包括如何设置QGraphicsRectItem的位置、sceneRect的作用以及自定义图元需要重载的函数,着重说明了图元位置与自身坐标的关系。
摘要由CSDN通过智能技术生成

一、理论

二、理解

        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)位置。

        

        

        

        

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值