События с QGraphicsItemGroup

в моем приложении я хочу использовать QGraphicsItemGroup для группировки элементов в один элемент.
Я немного поиграл с ним и не уверен, что использую его, потому что, когда я хочу поймать события, события объединяются вместе, но я хочу обрабатывать конкретное событие с конкретным ребенком.
Как я могу достичь этого?

2 ответов


нужно позвонить QGraphicsItemGroup::setHandlesChildEvents(false). Это останавливает QGraphicsItemGroup пытаюсь обработать событие, и позволяет ребенку QGraphicsItems обрабатывать их вместо этого.


Я думаю, что в этом суть QGraphicsItemGroup. Судя по документации, это должно упростить перемещение и преобразование сразу нескольких элементов, например, представьте себе следующий случай: пользователь рисует прямоугольник выбора вокруг нескольких элементов в приложении, потому что он хочет переместить все из них. Возможно, вы хотите больше создать иерархию элементов, например, иметь один родительский элемент с несколькими дочерними элементами. Таким образом, вы получите отдельные события для каждого элемента. Это может быть достигнуто позвонив QGraphicsItem::setParentItem();