我已经在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文件正确使用的更多信息。