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高手能帮帮我。
提前致谢
以下是可行的想法:
通过将电影一个接一个地播放成像素图来手动组合图像,然后在静态图像上涂色,并将结果设置在标签上。
从QLabel
派生,重载paintEvent
,并在调用QLabel::paintEvent
后覆盖静态图像。
Overlay 在电影标签之上的另一个标签。
我有一个 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高手能帮帮我。
提前致谢
以下是可行的想法:
通过将电影一个接一个地播放成像素图来手动组合图像,然后在静态图像上涂色,并将结果设置在标签上。
从
QLabel
派生,重载paintEvent
,并在调用QLabel::paintEvent
后覆盖静态图像。Overlay 在电影标签之上的另一个标签。