Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QGraphicsItemGroup Class Reference
[QtGui module]

该QGraphicsItemGroup类提供一个容器,把一组项目作为一个单独的项目。More...

继承QGraphicsItem

Methods


Detailed Description

该QGraphicsItemGroup类提供一个容器,把一组项目作为一个单独的项目。

一个QGraphicsItemGroup是一种特殊类型的复合项目,对待自身及其所有子作为一个项目(即,所有的事件和几何形状为所有儿童都合并在一起) 。这是常见的使用项目组演示工具,当用户希望将若干较小的项目变成一个大项目,以简化移动和项目的复制。

如果你想要的是存储在其它项目的项目,你可以使用任何QGraphicsItem直接通过传递一个合适的父setParentItem( ) 。

boundingRectQGraphicsItemGroup ()函数将返回所有项目的项目组中的边框。 QGraphicsItemGroup忽略ItemIgnoresTransformations旗上的孩子(即,相对于该组项目的几何形状,孩子们被视为好像它们是可转换的) 。

有两种方法来构造一个项目组。最简单和最常用的方法是将项目(例如,所有选定的项目)的列表传递给QGraphicsScene.createItemGroup( ) ,它返回一个新的QGraphicsItemGroup项目。另一种方法是手动构造一个QGraphicsItemGroup项目,将其添加到场景调用QGraphicsScene.addItem( ) ,然后通过调用将项目添加到该组手动,一次一个addToGroup( ) 。拆除( “取消组合” )的项目组,您可以调用QGraphicsScene.destroyItemGroup( ) ,或者你也可以手动调用从组中删除所有项目removeFromGroup( ) 。

 // Group all selected items together
 QGraphicsItemGroup *group = scene->createItemGroup(scene->selecteditems());

 // Destroy the group, and delete the group item
 scene->destroyItemGroup(group);

添加和删除项目的操作保持了​​项目“场景的相对位置和变换,而不是调用setParentItem( ) ,其中只有子项的父,相对位置和改造被保留。

该addtoGroup ( )函数reparents目标项目这个项目组,保持项目的位置和改造完好相对于场景。视觉上,这意味着项目通过加入addToGroup( )将保持完全不变,这个操作的结果,而不管该项目或该集团的当前位置或改造的,虽然该项目的位置和矩阵都可能发生变化。

removeFromGroup( )函数有类似的语义setParentItem();它reparents的项目到项目组的父项。与addToGroup( ) ,该项目的场景相对位置和转型保持不变。


Method Documentation

QGraphicsItemGroup.__init__ (self, QGraphicsItem parent = None, QGraphicsScene scene = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

scene的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QGraphicsItemGroupparent被传递给QGraphicsItem的构造。

See also QGraphicsScene.addItem( ) 。

QGraphicsItemGroup.addToGroup (self, QGraphicsItem item)

item说法有它的所有权转移给Qt的。

将给定item和项目的子项到这个项目组。该项目及其子项将被重设父到这个组,但它的位置和相对于场景变换将保持不变。

See also removeFromGroup()和QGraphicsScene.createItemGroup( ) 。

QRectF QGraphicsItemGroup.boundingRect (self)

从重新实现QGraphicsItem.boundingRect( ) 。

返回该组项目的边界矩形,它的所有子项。

bool QGraphicsItemGroup.isObscuredBy (self, QGraphicsItem item)

从重新实现QGraphicsItem.isObscuredBy( ) 。

QPainterPath QGraphicsItemGroup.opaqueArea (self)

从重新实现QGraphicsItem.opaqueArea( ) 。

QGraphicsItemGroup.paint (self, QPainter painter, QStyleOptionGraphicsItem option, QWidget widget = None)

从重新实现QGraphicsItem.paint( ) 。

QGraphicsItemGroup.removeFromGroup (self, QGraphicsItem item)

删除指定的item从本组。该项目将被重设父到这个组的父项,或为0,如果该组没有父。它的位置和相对于场景变换将保持不变。

See also addToGroup()和QGraphicsScene.destroyItemGroup( ) 。

int QGraphicsItemGroup.type (self)

从重新实现QGraphicsItem.type( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5