Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QGraphicsItemGroup类提供一个容器,把一组项目作为一个单独的项目。More...
该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( ) ,该项目的场景相对位置和转型保持不变。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
该scene的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个QGraphicsItemGroup。parent被传递给QGraphicsItem的构造。
See also QGraphicsScene.addItem( ) 。
该item说法有它的所有权转移给Qt的。
将给定item和项目的子项到这个项目组。该项目及其子项将被重设父到这个组,但它的位置和相对于场景变换将保持不变。
See also removeFromGroup()和QGraphicsScene.createItemGroup( ) 。
从重新实现QGraphicsItem.boundingRect( ) 。
返回该组项目的边界矩形,它的所有子项。
从重新实现QGraphicsItem.isObscuredBy( ) 。
从重新实现QGraphicsItem.opaqueArea( ) 。
从重新实现QGraphicsItem.paint( ) 。
删除指定的item从本组。该项目将被重设父到这个组的父项,或为0,如果该组没有父。它的位置和相对于场景变换将保持不变。
See also addToGroup()和QGraphicsScene.destroyItemGroup( ) 。
从重新实现QGraphicsItem.type( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |