Анимация поверх картинки |
Здравствуйте, гость ( Вход | Регистрация )
Анимация поверх картинки |
Elfinit |
21.9.2009, 22:42
Сообщение
#1
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Нужно отображать gif-анимацию поверх картинки. Пробовал идеи из выложенной здесь проги (один из последних исходников Qt) - не получается. Анимация не рисуется поверх элементов управления.
На скрине правее прогресс бара расположен спиннер. Так вот нужно, чтобы он был поверх картинки. (которая ещё правее)
Прикрепленные изображения
|
|
|
ufna |
21.9.2009, 23:27
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
а как пытаешься рисовать? покажи код
|
|
|
Elfinit |
21.9.2009, 23:32
Сообщение
#3
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Сейчас гифка рисуется тупо в связке QLabel+QMovie. Пытался рисовать в paintEvent через painter.drawImage.
В конструкторе виджета создавал QImageReader reader, который каждые 200 миллисекунд читал QImage img, который и рисовался в paintEvent. (Код я из проги выкинул, поэтому на словах. Вообще же он полностью был содран отсюда: http://www.crossplatform.ru/node/887 |
|
|
Litkevich Yuriy |
22.9.2009, 0:14
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
kwisp |
22.9.2009, 7:37
Сообщение
#5
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Elfinit,
давай код с кодом примера сравнивать. может действительно в новой версии Qt что то изменили во вред, хотя очень сомневаюсь. |
|
|
igor_bogomolov |
22.9.2009, 19:01
Сообщение
#6
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
muzhik.zip ( 24,15 килобайт ) Кол-во скачиваний: 270
Elfinit, Проверил у себя с приведённым выше рисунком. Все работает. Хотя, на мой взгляд, это не самый лучший выход из ситуации, Лучше всё таки использовать прозрачный виджет. Почитай это , там SABROG все отлично описал, и соответствующие ссылочки приложил ))) |
|
|
Litkevich Yuriy |
22.9.2009, 19:34
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Elfinit |
22.9.2009, 21:59
Сообщение
#8
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Проверил ещё раз, теперь анимация вообще пропала...
Итак, куски кода. Из конструктора виджета:
eventFilter, updateSpinner:
childsRecursive:
Сообщение отредактировал Elfinit - 22.9.2009, 22:06 |
|
|
igor_bogomolov |
23.9.2009, 0:29
Сообщение
#9
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Не знаю как средствами qt узнать количество кадров в gif, но у тебя их точно не 10. Если указать больше чем есть, работать не будет. Я для эксперимента с твоим рисунком ставил 8. )))
|
|
|
Elfinit |
23.9.2009, 10:31
Сообщение
#10
|
Участник Группа: Участник Сообщений: 127 Регистрация: 17.3.2009 Из: Казань Пользователь №: 619 Спасибо сказали: 7 раз(а) Репутация: 1 |
Не знаю как средствами qt узнать количество кадров в gif, но у тебя их точно не 10. Если указать больше чем есть, работать не будет. Я для эксперимента с твоим рисунком ставил 8. ))) Не помогло. А ничего, что я childRecursive вызываю для лэйбла только? Если вызывать для всего виджета, прога элегантно падает. Для parent вызывать тоже не интересно, тем более на нём несколько виджетов с аналогичной логикой. |
|
|
Текстовая версия | Сейчас: 28.11.2024, 23:35 |