Russian Qt Forum
Ноябрь 22, 2024, 16:05
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Мультимедиа
>
Анимация
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Анимация (Прочитано 7076 раз)
QCasper
Гость
Анимация
«
:
Март 31, 2006, 10:43 »
подскажите как лучше всего сделать анимацию. у меня по таймеру кадры обновляются, и я рисую их в QPixmap, для затирания старого изображения делаю QPixmap::fill(QColor(0,0,0,0)) но при этом все зверски мигает. Не подскажете как обновлять его получше (типа QWidget::update) или может использовать что-то другое для вывода? (Рисовать сразу в окно не вариант, несмотря на то что при этом ничего не мигает).
Записан
AlexKiriukha
Гость
Анимация
«
Ответ #1 :
Март 31, 2006, 12:01 »
1. Для анимаций можно использовать QMovie.
2. Если он не подходит, то можно посмотреть, как он устроен.
3. Вызов update() несколько раз обычно вызывает один paintEvent() (из документации void QWidget::update () [slot])
Записан
QCasper
Гость
Анимация
«
Ответ #2 :
Март 31, 2006, 15:42 »
Цитата: "AlexKiriukha"
1. Для анимаций можно использовать QMovie.
2. Если он не подходит, то можно посмотреть, как он устроен.
3. Вызов update() несколько раз обычно вызывает один paintEvent() (из документации void QWidget::update () [slot])
дело в том, что я каждый кадр отрисовываю сам с помощью QPainter, это все как-то можно связать все?
Записан
AlexKiriukha
Гость
Анимация
«
Ответ #3 :
Март 31, 2006, 16:51 »
А кадры повторяются? Если да - то их можно кешировать (QPixmapCache,
http://doc.trolltech.com/qq/qq12-qpixmapcache.html
).
Записан
QCasper
Гость
Анимация
«
Ответ #4 :
Март 31, 2006, 17:11 »
Цитата: "AlexKiriukha"
А кадры повторяются? Если да - то их можно кешировать (QPixmapCache,
http://doc.trolltech.com/qq/qq12-qpixmapcache.html
).
нет, все кадры разные... я щас уже начал рисовать напрямую на окно, и все равно мигает, че за лажа....
Записан
AlexKiriukha
Гость
Анимация
«
Ответ #5 :
Март 31, 2006, 17:54 »
Если у тебя Qt3.x.x, то можно использовать двойной буфер (
http://qt.osdn.org.ua/flicker-free.html
). В Qt4 вся отрисовка по умолчанию работает через двойной буфер.
Записан
QCasper
Гость
Анимация
«
Ответ #6 :
Март 31, 2006, 19:10 »
Цитата: "AlexKiriukha"
Если у тебя Qt3.x.x, то можно использовать двойной буфер (
http://qt.osdn.org.ua/flicker-free.html
). В Qt4 вся отрисовка по умолчанию работает через двойной буфер.
я знаю. у меня 4.1.1
Записан
Tirex
Гость
Анимация
«
Ответ #7 :
Апрель 03, 2006, 18:53 »
Привет!
Я вот тоже хотя сделать на QWidget анимацию. Есть несколько png файлов (разные). Как это (анимацию) лучше сделать?
И еще есть какой нибудь пример работы с QPIcture. какой формат должен быть у файла с командами QPainter, чтобы он мог его загрузить?
Может быть через него можно это как то реализовать.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...