gpt4 book ai didi

c++ - 为什么我的窗口没有显示任何 QPixmap 图片?

转载 作者:行者123 更新时间:2023-11-30 03:20:02 25 4
gpt4 key购买 nike

我正在尝试制作一个显示 .gif 的基本窗口,但它没有。我确保该文件与我的 main.cpp 位于同一目录中。我尝试了其他文件扩展名,但仍然无效。

#include <QApplication>
#include <QBoxLayout>
#include <QLabel>
#include <iostream>

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

QWidget *window = new QWidget;
window->setFixedSize(640, 480);

QLabel *gif_anim = new QLabel();
QPixmap const *movie = new QPixmap("sea.gif");
gif_anim->setPixmap(*movie);

QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(gif_anim);

std::cout << movie->isNull() << std::endl;

window->setLayout(layout);
window->show();

return a.exec();
}

我用 isNull() 方法进行了测试,它告诉我我的 QPixmap 为空(我不知道为什么)。

感谢您的帮助。

最佳答案

我将 QMovie 用于 gif 动画而不是 QPixmap:

QLabel *gif_anim = new QLabel();
QMovie *movie = new QMovie("sea.gif");
gif_anim->setMovie(*movie);
movie->start();

我通常检查 Qt 中支持的图像格式。你可以用这段代码来做到这一点:

qDebug() << "Supported image formats: " << QImageReader::supportedImageFormats();

关于c++ - 为什么我的窗口没有显示任何 QPixmap 图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53176202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com