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