Qt无法加载任何文件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>

从互联网下载的一些图像的后缀与格式不符,QImages使用后缀来检测图像的类型,因此我建议验证后缀是否为相同的格式。

要获得QImages的加载原因,必须使用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等

最新更新