Название: QGraphicsEffects не влияют на QGraphicsProxyWidget? Отправлено: Гурман от Октябрь 10, 2016, 18:18 На сцену с помощью QGraphicsProxyWidget кидаю QWidget (выбранный в дизайнере). Затем соответствующему айтему сцены с помощью setGraphicsEddect() задаю эффекты, все четыре встроенные - Blur, Opacity, Colorize и Shadow. Всё по документации. Код выполняется, все значения правильные. Появляется только Shadow - то есть, то, что есть вокруг айтема. Сам виджет не изменяется - ни прозрачности, ни размытия, ни окраски. Даже начал подозревать, что тени не появляются на других виджетах, привязанных к прокси-айтемам, и лежащих под айтемом с тенью. Но нет - эти тени работают нормально.
Кто-нибудь сталкивался с этим? Может я что-то упустил? Название: Re: QGraphicsEffects не влияют на QGraphicsProxyWidget? Отправлено: Old от Октябрь 10, 2016, 18:31 setGraphicsEffect задает только один эффект. Если вы несколько раз вызвали этот метод, то применится последний назначенный эффект.
Название: Re: QGraphicsEffects не влияют на QGraphicsProxyWidget? Отправлено: Гурман от Октябрь 10, 2016, 19:12 Да, уже увидел... Есть быстрый ответ на вопрос? - как задать несколько эффектов одновременно?
Название: Re: QGraphicsEffects не влияют на QGraphicsProxyWidget? Отправлено: Old от Октябрь 10, 2016, 19:51 Да, уже увидел... Есть быстрый ответ на вопрос? - как задать несколько эффектов одновременно? Быстрого нет.Я бы попробовал сделать свой эффект миксер, на основе класса QGraphicsEffect, который бы получал список эффектов и применял их последовательно. Название: Re: QGraphicsEffects не влияют на QGraphicsProxyWidget? Отправлено: Гурман от Октябрь 10, 2016, 20:15 Да, увы. Везде пишут, что если нужно несколько эффектов, надо делать свой обработчик. Жадины в Qt, могли бы упаковать применение нескольких эффектов к одному айтему. Если разработчик проворный навешает слишком много - сам дурак. Мне нужны всего две пары - одновременно тень и окраска, и одновременно размытие и прозрачность. Если с окраской, размытием и прозрачностью более-менее ясно, они внутри геометрии работают, то с тенью не совсем - она вне геометрии, влияет на другие айтемы. Отдельно надо разбираться. Но придётся это отложить, увы.
|