QT QPixmap загрузка изображения поражение

#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. Спасибо за ваш ответ. Я изменил другое изображение, которое можно прочитать.