QGrahicsItem и их дети - PullRequest
       16

QGrahicsItem и их дети

0 голосов
/ 20 ноября 2011

Я часами пытался понять, как QGraphicsItem ведет себя по отношению к детям. Я создаю новый QGraphicsItem B (фактически его собственный подкласс), а затем добавляю его в другой QGraphicsItem A как дочерний, вызывая метод setParentItem в B. Сразу после этого A имеет B в качестве дочернего. Я проверил некоторый отладочный код, который перебирает дочерние элементы A. Затем A добавляется в список As в диспетчере. Некоторое время спустя в программе в QWidget итератор списков получен от менеджера. Затем я перебираю список As и проверяю детей для каждого из них, и все они исчезли. В отладчике я убедился, что Manager - это действительно тот же экземпляр, а список - это тот же экземпляр. Каким-то образом это действительно озадачивает меня, кто в Qt FWK решает для меня, что моим объектам A больше не нужны их дети?

Я новичок в Qt и C ++, также с большим опытом разработки от java до target-c, так что я надеюсь, что это особенность Qt, о которой я не знаю, не совсем моя собственная глупость ...

С наилучшими пожеланиями,

Андре

1 Ответ

0 голосов
/ 15 декабря 2011

FYI: QGraphicsItemGroup, специально разработанный для группировки.

// Группировать все выделенные элементы вместе

QGraphicsItemGroup * group = scene-> createItemGroup (scene-> selecteditems ());

...