繁体   English   中英

Qt 无法加载任何文件 QImage

[英]Qt cant load any file QImage

这是我的代码:

QImage cover(":/Images/cover-placeholder.jpg");

if (cover.isNull()) {
    cout << "File load Error!" << endl;
}

无论我上传哪个文件,它总是会引发错误。 我也试过写文件的绝对路径,它仍然给出错误。 我也试过这段代码:

QString fileName = QFileDialog::getOpenFileName();

QImage temp;
if (!temp.load(fileName)) {
   cout << "Cant load" << endl;
}

它也不起作用。 问题是什么?

qrc 文件:

<RCC>
    <qresource prefix="/">
        <file>Images/cover-placeholder.jpg</file>
    </qresource>
</RCC>

有些从网上下载的图片后缀与格式不对应,QImage使用后缀来检测图片的类型,所以我建议验证后缀是否是相同的格式。

要获取 QImage 的加载原因,必须使用 QImageReader:

QImageReader reader("/fullpath/of/cover-placeholder.jpg"); 
QImage img = reader.read() 
if(img.isNull())
{
    qDebug() << reader.errorString();
}

此外,如果您正在部署 Qt 应用程序,您应该在 app_dir/imageformats 目录下部署图像格式插件。 插件有:qjpeg.dll、qgif.dll、qsvg.dll等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM