代码之家  ›  专栏  ›  技术社区  ›  Phillip

QLabel在gif上覆盖png

  •  0
  • Phillip  · 技术社区  · 6 年前

    我有一个QLabel,可以将gif设置为qmovie动画,或将png设置为qpixmap。 我想做的是制作gif动画,并在其上放置png。 两幅图像都有透明背景。gif为动画“加载圆”,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大师能帮助我。

    提前感谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   Kuba hasn't forgotten Monica    6 年前

    以下是可行的想法:

    1. 手动组合图像,将电影一个接一个地播放到pixmap中,然后对静态图像进行过度绘制,并将结果设置在标签上。

    2. 源于 QLabel ,过载 paintEvent ,并在调用 QLabel::paintEvent .

    3. Overlay 在电影的标签上再加一个标签。