Название: Анимация иконок в Qt Отправлено: Lion от Май 29, 2007, 10:11 Есть ли в Qt средства позволяющие сделать анимированые иконки, например, на кнопках?
Название: Анимация иконок в Qt Отправлено: QCasper от Май 29, 2007, 10:23 Насчёт кнопок не знаю, но вот на QLabel можно. См. setMovie(QMovie *movie).
Название: Анимация иконок в Qt Отправлено: goer от Май 29, 2007, 10:40 Для анимации есть QMovie но как по мне, от него больше проблем чем пользы, так что можно сделать анимацию например перебором кадров по таймеру.
Ну а для реализации в С++ есть такой мощный инструмент как наследование, так что все в твоих руках. Название: Анимация иконок в Qt Отправлено: dread от Май 29, 2007, 10:55 Смотря что ты подразумеваешь под анимацией на кнопках...
разное отображение при нажатии? или показ mng / серии картинок на кнопке? если первое переопределяй рисование кнопки, если второе то тогда по методу goer'а... Название: Анимация иконок в Qt Отправлено: QCasper от Май 29, 2007, 12:18 Цитата: "goer" Для анимации есть QMovie но как по мне, от него больше проблем чем пользы, так что можно сделать анимацию например перебором кадров по таймеру. Ну а для реализации в С++ есть такой мощный инструмент как наследование, так что все в твоих руках. А как сделать перебор кадров из файла формата *.mng или *.gif ? Название: Анимация иконок в Qt Отправлено: Lion от Май 29, 2007, 14:14 Дело в том, что повсюду используется QIcon, а он сам по себе инициализировать перерисовку не может, следовательно нужно переделывать все объекты в которых нужна анимация вместе с QIcon, либо через определенный промежуток времени менять вызывать setIcon(), что значительно усложнит программу.
Название: Анимация иконок в Qt Отправлено: goer от Май 29, 2007, 15:54 Цитировать А как сделать перебор кадров из файла формата *.mng или *.gif ? Через QMovie::currentPixmap(). Вообще я подразумевал что анимация будет состоять из пнг-шек например (5-10 кадров более чем достаточно). Цитировать Дело в том, что повсюду используется QIcon, а он сам по себе инициализировать перерисовку не может, следовательно нужно переделывать все объекты в которых нужна анимация вместе с QIcon, либо через определенный промежуток времени менять вызывать setIcon(), что значительно усложнит программу. Если хочешь впустую потратить время - подставляй костыли :-) Вообще не факт что возможности QIcon на QAbstractButton удовлетворят заданию или изменениям в будущем. Так что если хочешь сделать рабочий вариант анимации - то делай с нуля. (Либо наследованием от кнопки и переопределением рисования, либо через стили, либо через перехват событий). |