QLabel 在 gif 上覆盖 png

QLabel overlay png over gif

我有一个 QLabel,我可以设置一个 gif 动画作为 qmovie 或 png 显示为 qpixmap。 我想要做的是为 gif 制作动画并在其上放置一个 png。 两个图像都有透明背景。 gif 是动画 "loading circle",png 是 "check" 图标。

下面的代码只显示最后一个。

#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高手能帮帮我。

提前致谢

以下是可行的想法:

  1. 通过将电影一个接一个地播放成像素图来手动组合图像,然后在静态图像上涂色,并将结果设置在标签上。

  2. QLabel派生,重载paintEvent,并在调用QLabel::paintEvent后覆盖静态图像。

  3. Overlay 在电影标签之上的另一个标签。