Название: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения? Отправлено: Гурман от Июль 28, 2010, 08:56 при установке отношений parent-child между объектами класса QGraphicsItem, детки размещаются в системе координат родителей
в моем случае это порождает ряд неудобств, поскольку на сцене могут быть как родители верхнего уровня, у которых система координат сцены, так и их детки, причем с точки зрения редактирования и отображения ни детки, ни родители ничем не отличаются - поэтому мне гораздо удобнее рисовать все объекты в системе координат сцены но... очень желательно иметь родительские отношения между графическими объектами, поскольку при некоторых операциях это оказывается удобно, в частности, при подсветке (при наведении курсора на дитя, дополнительно подсвечивается и его родитель) можно ли как-то "переключить" Qt, чтобы он стал работать с детьми в системе координат сцены, но позволял устанавливать родительские отношения средствами Qt, или нет другого варианта, кроме как эти отношения устанавливать и отслеживать мне самостоятельно? вариант с умолчательными родительскими отношениями, при которых используется метод, возвращающий координаты в сцене, не годится, код получается дурацкий, поскольку надо не только получать координаты, но и размещать объекты в сцене если бы можно было бы размещать детей в абсолютных координатах сцены, это было бы тоже хорошо, что-нибудь типа setScenePos вместо просто setPos Название: Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения? Отправлено: SimpleSunny от Июль 28, 2010, 09:39 mapFromScene / mapToScene должны помочь
Код
Название: Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения? Отправлено: Гурман от Июль 28, 2010, 10:41 Цитировать mapFromScene / mapToScene должны помочь надо посмотреть, я этот метод не заметил правда тут все равно небольшой косяк получается, поскольку в детях сохраняются относительные координаты, и каждый раз при получении надо их пересчитывать в абсолютные то есть, насколько я понял, возможности один раз переключить Qt на абсолютные координаты нет? ладно, будем думать... Название: Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения? Отправлено: Гурман от Июль 29, 2010, 11:06 Цитировать setPos(parentItem()->mapFromScene(pos)); хехе... предложенное решение влоб не подходит, так как получается "координатный парадокс родителей": если сначала пытаться установить координаты при помощи такого вызова, то еще не известно, кто родитель, а если пытаться установить сначала родителя, то это... невозможно сделать, поскольку не установлены координаты и родителя нельзя определить в результате приходится извращаться, давать "предварительные координаты", и код все-равно получается не очевидный красиво и легко понятно было бы, если бы можно было оперировать айтемами, не глядя на родительские отношения может в Нокию фичериквест написать?... Название: Re: QGraphicsItem - можно ли всегда абсолютные координаты и родительские отношения? Отправлено: Гурман от Июль 30, 2010, 15:12 брррр.... надо таки еще иметь и отношения родитель-дитя, с использованием координат детей в системе координат родителей
то есть, получаются в одном приложении сочетания и абсолютных координат, и относительных, у одниих и тех же объектов, в результате довольно хреново все... если бы можно было одним вызовом переключать Qt на работу с абсолютными или относительными коорднатами, было бы здорово |