Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Иволга от Ноябрь 19, 2015, 12:28



Название: QGraphicsScene - Порядок отрисовки объектов
Отправлено: Иволга от Ноябрь 19, 2015, 12:28
Как сделать, чтобы объект, созданный раньше других, отрисовывался в последнюю очередь, поверх всех?


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: GreatSnake от Ноябрь 19, 2015, 12:37
Задай ему максимальный zValue().


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: Иволга от Ноябрь 19, 2015, 12:47
Спасибо.)


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: lit-uriy от Ноябрь 20, 2015, 06:35
>>Задай ему максимальный zValue().

Опасный совет!!!

с помощью zValue() можно изменить только порядок элементов находящихся на одном уровне иерархии!!!
т.е. если имеются у элементов дочерние элементы, то zValue() не будет иметь глобального действия.

В ситуации когда неправильно накрываются дети одного объекта детьми другого объекта, можно будет разрулить только изменив порядок создания родителей на сцене, либо их перестановкой - stackBefore(), читай подробнее тут (http://www.doc.crossplatform.ru/qt/4.6.x/qgraphicsitem.html#sorting)


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: Иволга от Ноябрь 20, 2015, 09:09
Кстати, да. Как только я назначила элементу родителя, это перестало работать.

Можно ли сделать так, чтобы от родителя наследовались только трансформации, но не наследовалась, к примеру, прозрачность?


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: lit-uriy от Ноябрь 20, 2015, 13:36
вот трансформацию можно отключить, а всё остальное по моему нет.


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: GreatSnake от Ноябрь 21, 2015, 13:42
с помощью zValue() можно изменить только порядок элементов находящихся на одном уровне иерархии!!!
Хм... А разве это не очевидно?


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: Racheengel от Ноябрь 22, 2015, 01:19
с помощью zValue() можно изменить только порядок элементов находящихся на одном уровне иерархии!!!
Хм... А разве это не очевидно?

А почему это должно быть очевидно?


Название: Re: QGraphicsScene - Порядок отрисовки объектов
Отправлено: lit-uriy от Ноябрь 23, 2015, 08:50
>>Хм... А разве это не очевидно?
Абсолютно не очевидно и абсолютно неудобно.