- class QGraphicsItemGroup#
QGraphicsItemGroup
类提供了一个容器,将一组项目视为一个项目来处理。 更多信息…概要#
方法#
def
__init__()
def
addToGroup()
注意
此文档可能包含自动从C ++转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译中存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来让我们知道
详细描述#
警告
本节包含自动从C ++转换为Python的代码片段,可能包含错误。
QGraphicsItemGroup
是一种特殊的复合项,将其自身及其所有子项视为一个项目(即,所有子项的事件和几何形状都被合并在一起)。在演示工具中,当用户希望将多个较小的项目组合成一个较大的项目以简化项目的移动和复制时,通常使用项组。如果您只想在其他物品中存储物品,您可以直接使用任何
QGraphicsItem
,只需通过向setParentItem()
传递一个合适的父元素即可。boundingRect()
函数返回项组中所有物品的边界矩形。QGraphicsItemGroup
忽略其子元素上的ItemIgnoresTransformations标志(即,与组元素的几何形状相比,子元素被视为可变换的)。构造项组有两种方式。最简单且最常见的方法是向
createItemGroup()
传递一个物品列表(例如所有选定的物品),该函数返回一个新的QGraphicsItemGroup
物品。另一种方法是手动构建一个QGraphicsItemGroup
物品,将其添加到场景中,使用addItem()
,然后手动添加物品到组中,每次通过调用addToGroup()
添加一个。要解散(使项组)解散,您可以调用destroyItemGroup()
,或者您可以通过调用removeFromGroup()
手动移除组中的所有物品。# Group all selected items together group = scene.createItemGroup(scene.selecteditems()) # Destroy the group, and delete the group item scene.destroyItemGroup(group)
添加和删除物品的操作保留了物品相对于场景的位置和变换,与调用
setParentItem()
不同,该方法只保留子元素相对于父元素的位置和变换。addToGroup()
函数将目标物品的主元素重置为此项组,保持该项相对于场景的位置和变换。从视觉上来说,这意味着通过addToGroup()
添加的物品将保持完全不变,无论当前该项或组的当前位置或变换是什么;尽管物品的位置和矩阵很可能会改变。removeFromGroup()
函数与setParentItem()
具有相似的语义;它将项目重新归类到项目组的父项目中。与addToGroup()
类似,项目的场景相对位置和变换保持不变。另请参阅
- __init__([parent=None])#
- 参数:
parent –
QGraphicsItem
创建一个
QGraphicsItemGroup
。parent
传递给QGraphicsItem
构造函数。另请参阅
- addToGroup(item)#
- 参数:
item –
QGraphicsItem
将给定的
item
及其子项目添加到该项目组中。项目及其子项目将被重新归类到该组中,但其相对于场景的位置和变换将保持不变。- removeFromGroup(item)#
- 参数:
item –
QGraphicsItem
从该组中删除指定的
item
。项目将被重新归类到该组的父项目中,或者如果没有父项,则到 0。其相对于场景的位置和变换将保持不变。