Я использую Qt Designer 4.8.4 и включаю в файл ресурсов QMainWindow два файла: файл .ico и файл .gif. При загрузке из кода с помощью:
QPixmap p;
p.load(":/MyApp/media/logo.gif"); // does work
p.load(":/MyApp/media/logo.ico"); // does not work
GIF-файл работает, но не ICO-файл. Есть ли причина? Я использую файл ico в качестве значка окна, и он не отображается при запуске приложения.
И, да, я успешно компилирую файл qrc, так как GIF файл работает.
Ура,
* .ico не поддерживается.
По умолчанию Qt поддерживает следующие форматы:
Формат Описание Поддержка Qt
BMP Windows Bitmap Чтение / запись
GIF Графический формат обмена (необязательно) Читать
JPG Joint Photographic Experts Group Чтение / запись
JPEG Объединенная группа экспертов по фотографированию Чтение / запись
PNG Портативная сетевая графика Чтение / запись
PBM Портативный Bitmap Read
PGM Портативный Graymap Читать
PPM Портативный Pixmap Чтение / запись
Формат файла изображения с меткой TIFF Чтение / запись
XBM X11 Bitmap Чтение / запись
XPM X11 Pixmap Чтение / запись
Поскольку QPixmap Cant читает файлы .ico просто,
взгляните на документацию QPixmap если вы хотите узнать больше о поддерживаемых форматах
вы можете конвертировать его формат в поддерживаемые форматы Qt.
Исходя из вашего ответа на уже выбранный ответ, вы можете захотеть использовать этот ICO в качестве значка окна приложения. Это возможно, а также, возможно, поэтому Qt Designer способен отображать его (пытаясь угадать ваше намерение). Однако наличие такого кода не требует кодирования QPixmap, это просто вопрос конфигурации. Описано здесь (и да, #worksforme):