QGraphicsItemGroup的事件

onu*_*lik 12 c++ events qt qt4 qgraphicsview

在我的应用程序中,我想使用QGraphicsItemGroup将项目分组到一个项目中.
我玩了一点但不确定使用它因为当我想要捕捉事件时,事件被合并在一起但我想要处理特定孩子的特定事件.
我怎样才能做到这一点?

Wha*_*ang 13

你需要打电话QGraphicsItemGroup::setHandlesChildEvents(false).这会停止QGraphicsItemGroup尝试处理事件,并让孩子QGraphicsItem处理它们.


hum*_*mba 5

我认为这就是重点QGraphicsItemGroup。从文档来看,这是为了简化一次移动和转换多个项目的过程,例如想象一下以下情况:用户在应用程序中的多个项目周围绘制一个选择矩形,因为他想要移动所有项目。也许您更想要的是创建项目的层次结构,例如,有一个父项目和多个子项目。这样您就可以获得每个项目的单独事件。这可以通过调用来完成QGraphicsItem::setParentItem()

  • 每次我尝试使用 QGraphicsItemGroup 时,我都会回到普通的父子关系。文档对此不是很清楚 (4认同)