Проблема при загрузке ico из файла ресурсов Qt

Я использую 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 файл работает.

Ура,

3

Решение

* .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 Чтение / запись

6

Другие решения

Поскольку QPixmap Cant читает файлы .ico просто,
взгляните на документацию QPixmap если вы хотите узнать больше о поддерживаемых форматах

3

вы можете конвертировать его формат в поддерживаемые форматы Qt.

2

Исходя из вашего ответа на уже выбранный ответ, вы можете захотеть использовать этот ICO в качестве значка окна приложения. Это возможно, а также, возможно, поэтому Qt Designer способен отображать его (пытаясь угадать ваше намерение). Однако наличие такого кода не требует кодирования QPixmap, это просто вопрос конфигурации. Описано здесь (и да, #worksforme):

http://doc.qt.digia.com/qt/appicon.html

1
По вопросам рекламы [email protected]