我已经在UI表单中创建了一个标签,我想使用main中的代码使它显示GIF。到目前为止,这是我所拥有的,但是我不确定用什么代替“???????”。如何使此标签显示GIF?

#include "dialog.h"
#include <QApplication>
#include <QMovie>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;

    QMovie *movie = new QMovie(":/Gifs/Welcome_animation2.gif");
    QLabel *lblMovie = new QLabel();
    lblMovie->setMovie(??????????);
    movie->start();

    w.show();
    return a.exec();
}

最佳答案

正如CoryKramer指出的,您应该只使用lblMovie->setMovie(movie)。但是,问题似乎出在,您没有将影片设置为正确的QLabel(即,lblMovie与窗口上显示的对象不同)
您可能必须在Dialog类中创建QMovie,然后使用ui->lblMovie->setMovie(movie)将影片设置为QLabel。如果确实必须在外部创建它,则应添加一个公共(public)方法以允许它。
查看http://doc.qt.io/qt-5/gettingstartedqt.html,以获取有关ui文件正确使用的更多信息。

07-26 08:40