Qt图形视图框架:QGraphicsItemGroup

一、描述

1、QGraphicsItemGroup 是一种特殊类型的复合项,它将自身及其所有子项视为一个项(即所有子项的所有事件和几何图形都合并在一起)。当想要将几个较小的图形项组合成一个大图形项以简化项目的移动和复制时可以使用项目组。

2、如果只想将图形项存储在其他图形项中,应该通过将合适的父项传递给 setParentItem() 来直接使用任何 QGraphicsItem而不是使用QGraphicsItemGroup。

3、QGraphicsItemGroup 的 boundingRect() 函数返回项组中所有项的边界矩形。 QGraphicsItemGroup 忽略其子项上的 ItemIgnoresTransformations 标志(图形项将忽略继承的转换)。

4、有两种方法可以构建项目组:

  • 将项目列表传递给 QGraphicsScene::createItemGroup((const QList<QGraphicsItem *> &items),它返回一个新的 QGraphicsItemGroup 图形项。
  • 构造一个 QGraphicsItemGroup 项,调用 QGraphicsScene::addItem() 将其添加到场景中,然后通过调用 addToGroup() 将项目添加到组中。

5、要拆除(“取消分组”)一个项目组,可以调用 QGraphicsScene::destroyItemGroup(),或者调用 removeFromGroup() 从组中删除所有项目。

6、添加和删除图形项到项目组的操作不会改变图形项相对于场景的位置和变换。

二、实用成员函数

1、void addToGroup(QGraphicsItem *item)

将给定的图形项及其子项添加到项目组。图形项及其子项相对于场景的位置和变换将保持不变。item的父项被设为当前项目组。

2、void removeFromGroup(QGraphicsItem *item)

从当前项目组中删除指定的图形项。该图形项的父项设为当前项目组的父项(如果当前项目组有父项的话)。图形项相对于场景的位置和变换将保持不变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值