События с QGraphicsItemGroup - PullRequest
11 голосов
/ 11 июня 2010

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

Ответы [ 2 ]

12 голосов
/ 20 января 2011

Вам нужно позвонить QGraphicsItemGroup::setHandlesChildEvents(false). Это останавливает QGraphicsItemGroup, пытающуюся обработать событие, и позволяет дочернему элементу QGraphicsItem s обрабатывать их.

3 голосов
/ 11 июня 2010

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

...