Я создал ярлык в виде пользовательского интерфейса и хотел бы, чтобы он отображал GIF с использованием кода в main
, Это то, что я имею до сих пор, но я не уверен, что поставить вместо «???????». Как я могу сделать так, чтобы этот ярлык отображал 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 — это не тот объект, который показан в вашем окне)
Вы, вероятно, должны создать QMovie внутри своего класса Dialog, и там вы устанавливаете фильм на QLabel, используя ui->lblMovie->setMovie(movie)
, Если он действительно должен быть создан снаружи, то вы должны добавить публичный метод, чтобы разрешить это.
Взгляни на http://doc.qt.io/qt-5/gettingstartedqt.html для получения дополнительной информации о правильном использовании файлов пользовательского интерфейса