LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

попытку залить в компонент картинку неподдерживаемую оболочкой закончится матом в красной каёмке ещё на этапе дизайна

Лично у меня при попытке посмотреть что там за изображение такое, Qt Creator ругается матом. Это уже наводит на мысль что с изображением что-то не так.

http://esxi.z-lab.me:666/~exl_lab/screens/qt_creator_wrong_file.png

QRC ведь просто контейнер, не обязательно для изображений. В него можно помещать любые файлы, он никак не обязан их проверять.

То что QT не умеет работать с картинками я понял ещё неделю назад, как взялся за данный проект.

На мой взгляд, основная вина лежит на том, кто создал такие картинки, в которых расширение не совпадает с их содержимым. То бишь виноват предыдущий разработчик или его инструментарий.

Но вы правы и к Qt здесь имеется претензия тоже, причём она достаточно серьёзная. Если копнуть вашу проблему глубже, то оказывается, что документация Qt по классу QPixmap попросту врёт. Она говорит, что если формат изображения не задан явно, то загрузчик пытается определить его по заголовку файла:

http://doc.qt.io/qt-5/qpixmap.html#load

Что конечно же, не так. Ведь в таком случае у вас бы всё работало. Формат файла определяется по расширению изображения.

На официальном форуме Qt человек столкнулся примерно с такой же проблемой как у вас и он тоже не понимает, почему Qt действует не согласно своей документации:

https://forum.qt.io/topic/73912/qpixmap-load-has-wrong-about-the-image-data

Разработчик Qt отвечает ему, что в документации имеется ошибка. И вот прошло почти два года, а её так никто и не исправил. Это печально. Если есть время, можете составить баг-репорт на документацию здесь https://bugreports.qt.io/

Исходная версия EXL, :

попытку залить в компонент картинку неподдерживаемую оболочкой закончится матом в красной каёмке ещё на этапе дизайна

Лично у меня при попытке посмотреть что там за изображение такое, Qt Creator ругается матом. Это уже наводит на мысль что с изображением что-то не так.

http://esxi.z-lab.me:666/~exl_lab/screens/qt_creator_wrong_file.png

QRC ведь просто контейнер, не обязательно для изображений. В него можно помещать любые файлы, он никак не обязан их проверять.

То что QT не умеет работать с картинками я понял ещё неделю назад, как взялся за данный проект.

На мой взгляд, основная вина лежит на том, кто создал такие картинки, в которых расширение не совпадает с их содержимым. То бишь виноват предыдущий разработчик или его инструментарий.

Но вы правы и к Qt здесь имеется претензия тоже, причём она достаточно серьёзная. Если копнуть вашу проблему глубже, то оказывается, что документация Qt по классу QPixmap попросту врёт. Она говорит, что если формат изображения не задан явно, то загрузчик пытается определить его по заголовку файла:

http://doc.qt.io/qt-5/qpixmap.html#load

Что конечно же, не так. Ведь в таком случае у вас бы всё работало. Формат файла определяется по расширению изображения.

На официальном форуме Qt человек столкнулся примерно с такой же проблемой, как у вас и он тоже непонимает, почему Qt действует не согласно своей документации:

https://forum.qt.io/topic/73912/qpixmap-load-has-wrong-about-the-image-data

Разработчик Qt отвечает ему, что в документации имеется ошибка. И вот прошло почти два года, а её так никто и не исправил. Это печально. Если есть время, можете составить баг-репорт на документацию здесь https://bugreports.qt.io/