crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Elfinit
  опции профиля:
сообщение 9.11.2009, 11:35
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


В связи с выходом Qt 4.6 (пусть и беты) с простыми средствами анимирования приложения появилось резонное желание (и даже необходимость) сделать интерфейс более современным. Удалось сделать такие финтифлюшки, как размытие фона при показе модальных окон, "выползание" вспомогательных окон от ближайшего к (сохранённой) позиции края, плавное "растворение" окошек-notifications, прочая анимация....
Хочется теперь анимировать не только окошки, но и панельки. На скриншоте показаны они. Это те, рядом с которыми есть продолговатые кнопки со стрелками. Нажатие, очевидно, показывает/скрывает панельку. Хочется:
а) панелька скрыта - навели на кнопку - панелька начинает плавно выезжать поверх окна (т.е. не изменяет расположения виджетов)
б) нажали на кнопку - панелька плавно выползла/уползла (резайс остального происходит при фиксации панельки)
в) панельки "Свойства альбома", "Свойства фотографии", "Основное", "Альбомы".. тоже хочется, чтобы плавно выползали/уползали.

any ideas?

Сообщение отредактировал Elfinit - 11.11.2009, 23:54
Эскизы прикрепленных изображений
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 73%
Прикрепленное изображение
981 x 768 (85.51 килобайт)
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 73%
Прикрепленное изображение
981 x 768 (94.45 килобайт)
 РЈРјРµРЅСЊС€РµРЅРѕ РґРѕ 73%
Прикрепленное изображение
981 x 768 (94.45 килобайт)
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V  < 1 2  
Начать новую тему
Ответов (10 - 14)
Elfinit
  опции профиля:
сообщение 18.11.2009, 9:48
Сообщение #11


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Цитата(maxvanceffer @ 18.11.2009, 5:34) *
А можно спросить как ты это сделал ?

Чуть выше я уже привёл исходник, смотри сообщение номер шесть.
А вот если ты разберёшься, как сделать, чтобы фон становился размытым (прозрачным, цветным....) не моментально, а постепенно - буду благодарен за пример кода)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.11.2009, 9:59
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Elfinit, ты не баловался с програмкой Fading Effects из Qt Quarterly, я баловался, там плавно появляются виджеты.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 18.11.2009, 10:49
Сообщение #13


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 18.11.2009, 9:59) *
там плавно появляются виджеты.


В том, чтобы окошки появлялись плавно, нет никаких проблем, обычное PropertyAnimation для windowOpacity c нуля до единицы.
Я имею ввиду немного другое. Вот например появляется модальное окошко. При этом главное окно блокируется и становится размытым (или покрывается "сероватой пеленой", но это не принципиально). Для этого на parentWidget (в частности - на главное окно) вешается какой-нибудь графический эффект (например, QGraphicsBlurEffect). Так ведь он моментально окно размывает (т.е. эффект применяется моментально). А хотелось бы, чтобы это происходило поспенно (т.е. чтобы blurRadius за пол-секунды, например, увеличился от 0 до 5). Вешать таймер и каждые 100 миллисекунд вешать новый эффект как-то не хочется. Хотя, я не проверял что будет, если у уже применённого графического эффекта поменять этот самый blurRadius. На досуге поэкспериментирую)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 18.11.2009, 11:19
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Elfinit @ 18.11.2009, 13:49) *
Вешать таймер и каждые 100 миллисекунд вешать новый эффект как-то не хочется.
а подругому не получится. всё равно оно так и будет работать (еслиб было реализовано)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 18.11.2009, 12:38
Сообщение #15


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 18.11.2009, 11:19) *
а подругому не получится.

Я имел ввиду, ручками это писать не хочется, к тому же хочется, чтобы универсально было....Хотя, может придумаю, как это универсально сделать...Каждые 100 миллисекунд делать new QGraphicsBlurEffect и т.п., скорее всего, не решение. Если только как раз параметры уже существующего эффекта менять, если это поддерживается) К тому же, возможно, тормоза появятся....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 12.7.2025, 5:16