#qt #qpixmap
Вопрос:
qDebug() << QFileInfo(":/images/123.jpg").exists();
QPixmap myPix;
myPix.load(":/images/123.jpg");
if(myPix.isNull())
{
qDebug() << "Failed to load image" ;
}
true
Failed to load image
Вот код и выходные данные. Это беспокоит меня очень часто.
Комментарии:
1. каков результат:
QImageReader reader(":/images/123.jpg"); QImage img = reader.read() if(img.isNull()) { qDebug() << reader.errorString(); }
2. @eyllanesc Это «Не удается прочитать данные изображения»
3. Так что, скорее всего, это не изображение, возможно, это поврежденный файл или файл другого типа.
4. @eyllanesc Спасибо, я меняю другое изображение, которое можно прочитать . Я рано изменил его имя файла расширения. Я думал, что это изображение может отображаться в Windows, а также его можно прочитать с помощью QPixmap.
Ответ №1:
похоже, что резервная копия повреждена… и не может быть загружена.
вы должны убедиться, что res загружен правильно:
if(myPix.load(":/images/123.jpg"))
{
....
}
как в документе указано (https://doc.qt.io/qt-5/qpixmap.html#load):
Загружает растровое изображение из файла с заданным именем файла. Возвращает значение true, если растровое изображение было успешно загружено; в противном случае оно становится недействительным и возвращает значение false.
Комментарии:
1. Спасибо за ваш ответ. Я изменил другое изображение, которое можно прочитать.