C++ Qt 如何让标签显示您使用表单创建的电影 (gif)?

标签 c++ qt label gif movie

我在表单 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 文件的更多信息

关于C++ Qt 如何让标签显示您使用表单创建的电影 (gif)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30742007/

相关文章:

c++ - 在 Linux 上使用带有标准头文件的 C++ 模块 TS

c++ - 如何通过按 Esc 键使非模态 QDialog 不可取消?

javascript - 使 highcharts 条形图阈值线可见并且标签不相互重叠

c++ - 我对文件结尾感到困惑

c++ - Qt Creator 中的 CSS

模板的 C++ 链接错误,仅使用头文件,为什么?

c++ - 如何在 Qt 中有效地循环图像?

c# - 如何开发具有专业外观的 UI 窗体 winforms?

colors - 在 libgdx 中使用 getStyle 设置标签背景样式

javascript - 铯 : display/hide Labels depending on the Zoom level