Russian Qt Forum
Ноябрь 22, 2024, 14:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGraphicsEffects не влияют на QGraphicsProxyWidget?  (Прочитано 3935 раз)
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« : Октябрь 10, 2016, 18:18 »

На сцену с помощью QGraphicsProxyWidget кидаю QWidget (выбранный в дизайнере). Затем соответствующему айтему сцены с помощью setGraphicsEddect() задаю эффекты, все четыре встроенные - Blur, Opacity, Colorize и Shadow. Всё по документации. Код выполняется, все значения правильные. Появляется только Shadow - то есть, то, что есть вокруг айтема. Сам виджет не изменяется - ни прозрачности, ни размытия, ни окраски. Даже начал подозревать, что тени не появляются на других виджетах, привязанных к прокси-айтемам, и лежащих под айтемом с тенью. Но нет - эти тени работают нормально.

Кто-нибудь сталкивался с этим? Может я что-то упустил?
Записан

2^7-1 == 127, задумайтесь...
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Октябрь 10, 2016, 18:31 »

setGraphicsEffect задает только один эффект. Если вы несколько раз вызвали этот метод, то применится последний назначенный эффект.
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #2 : Октябрь 10, 2016, 19:12 »

Да, уже увидел... Есть быстрый ответ на вопрос? - как задать несколько эффектов одновременно?
Записан

2^7-1 == 127, задумайтесь...
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Октябрь 10, 2016, 19:51 »

Да, уже увидел... Есть быстрый ответ на вопрос? - как задать несколько эффектов одновременно?
Быстрого нет.
Я бы попробовал сделать свой эффект миксер, на основе класса QGraphicsEffect, который бы получал список эффектов и применял их последовательно.
Записан
Гурман
Гуру общения
******
Offline Offline

Сообщений: 1442

Qt 2.2, 3.3, 4.5, 4,7, 4.8, 5.3, 5.6, 5.9, 5.12


Просмотр профиля
« Ответ #4 : Октябрь 10, 2016, 20:15 »

Да, увы. Везде пишут, что если нужно несколько эффектов, надо делать свой обработчик. Жадины в Qt, могли бы упаковать применение нескольких эффектов к одному айтему. Если разработчик проворный навешает слишком много - сам дурак. Мне нужны всего две пары - одновременно тень и окраска, и одновременно размытие и прозрачность. Если с окраской, размытием и прозрачностью более-менее ясно, они внутри геометрии работают, то с тенью не совсем - она вне геометрии, влияет на другие айтемы. Отдельно надо разбираться. Но придётся это отложить, увы.
Записан

2^7-1 == 127, задумайтесь...
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.106 секунд. Запросов: 23.