Наложение QLabel png поверх gif

У меня есть QLabel, и я могу настроить GIF для анимации как qmovie или png для отображения как qpixmap. Что я хочу сделать, так это анимировать gif и поместить его в png. Оба изображения имеют прозрачный фон. На гифке анимированный «кружок загрузки», png — иконка «галочки».

В приведенном ниже коде отображается только последний.

#define MOOD_RESULT ":/mood/mood_result.gif"
#define MOOD_SUCCESS ":/mood/mood_success.png"

ui->moodicon->setPixmap(QPixmap(MOOD_SUCCESS));

QMovie *movie = new QMovie(MOOD_RESULT);
ui->moodicon->setMovie(movie);
movie->start();

Я надеюсь, что гуру Qt может мне помочь.

заранее спасибо


person Phillip    schedule 29.12.2017    source источник


Ответы (1)


Вот рабочие идеи:

  1. Объедините изображения вручную, воспроизведя фильм один за другим в растровое изображение, затем перерисовав статическое изображение и установив результат на этикетке.

  2. Наследовать от QLabel, перегрузить paintEvent и перекрасить статическое изображение после вызова QLabel::paintEvent.

  3. Наложите другую метку поверх метки с фильмом.

person Kuba hasn't forgotten Monica    schedule 29.12.2017