父子QGraphicsItem绘图示例,及与ros中rviz的不同

Graphices View中的单位都是像素,米制需要换算成像素。
QGraphicsItem内部绘图的中心是(0,0).可以按照自己的方式绘制。

Graphices View 内部x轴和y轴及原点不清晰的可以先画出来,再调试。x轴正方向向下,y轴正方向向右。

QGraphicsItem父子构成关系,需要子QGraphicsItem调用函数setParentItem来把父QGraphicsItem添加进来。

ros中rviz的坐标系中的x轴是Graphices坐标系中的y轴,
ros中rviz的坐标系中的y轴是Graphices坐标系中的x轴。
所以ros中rviz的坐标系中的绕z轴旋转90度,在Graphices坐标系中应为旋转-90度。

示例代码如下:

    QGraphicsItem *submap_0 = new Submap();
    int row_0 = -10.05/0.05;
    int col_0 = 6.109/0.05;

    submap_0->setPos(col_0,row_0);
    //-36.3315
    submap_0->setRotation(-36.3315);

    QImage image_0 = rpc_handler.GetSubmap(0,0);

    QGraphicsItem *slice_0 = new Slice(image_0);

    slice_0->setPos(-1*31.35/0.05,-1*25.2/0.05);
    slice_0->setParentItem(submap_0);

    scene->addItem(submap_0); //组合添加到场景中

QGraphicsItem的serPos()函数设置图形项在父项中的坐标,如果没有父项,就是在场景(上面代码中scene)中的坐标。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可峰科技

生活不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值