Qt. Иконка приложения для Windows

08.11.2009
Новиков Максим Глебович

Общие сведения об иконках

Вообще, иконка в Windows — это не простое изображение 16х16, а набор нескольких изображений разной цветности и размеров, сохранённых в одном файле с расширением ico (или в одной структуре ресурсов приложения, куда этот файл был интегрирован). При использовании одной и той же иконки в разных местах (в системном лотке, проводнике, на рабочем столе и т.п.) операционной системой из ресурсов приложения достаётся то изображение, которое более всего подходит для данного места по цветности и размеру.

Для создания файла иконки удобно воспользоваться специальным бесплатным редактором иконок IcoFX (http://icofx.ro/). Этот редактор может автоматически сделать из исходного изображения все нужные размеры и цветности, а может импортировать каждое изображение из внешнего файла. Интерфейс IcoFX интуитивно понятен, поэтому не будем долго задерживаться на нём.

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

4 бита (16 цветов), 32х32
4 бита (16 цветов), 16х16
8 бита (256 цветов), 48х48
8 бита (256 цветов), 32х32
8 бита (256 цветов), 16х16
32 бита (24-битный цвет + 256 градаций прозрачности), 256х256
32 бита (24-битный цвет + 256 градаций прозрачности), 48х48
32 бита (24-битный цвет + 256 градаций прозрачности), 32х32
32 бита (24-битный цвет + 256 градаций прозрачности), 16х16

Редактор IcoFX это делает автоматически несмотря на то, что визуализирует их в своём интерфейсе в несколько ином порядке. Пусть это вас не смущает — если вы откроете приложение с такой иконкой в каком-либо редакторе ресурсов, то убедитесь, что порядок следования изображений программой был выбран верный.

В настоящий момент нет особого смысла использовать для иконки приложения какую-либо другую цветность или размеры, помимо приведённых выше. Также, не следует применять компрессию для изображений 256х256, иначе этот размер иконок будет несовместим с Windows XP. Отключить компрессию можно в настройках программы.

Различные рекомендации о создании иконок можно почитать тут:

http://msdn.microsoft.com/ru-ru/library/ms997636%28en-us%29.aspx
(перевод: http://www.allok.ru/?id=10)

http://www.iconsforvista.com/content/view/20/36/

Настройка проекта в Netbeans

В настоящий момент среда программирования Netbeans не предоставляет возможности напрямую вставлять иконку приложения в компилируемую программу. Однако это не сложно сделать вручную. Для этого сохраните созданную в редакторе иконку в папку проекта. Далее, в той же папке, рядом с имеющимся файлом ресурсов ИмяПроекта_resource.rc создаёте текстовый файл ИмяПроекта_resource_icon.rc, содержащий внутри одну строчку:

    IDI_APPICON ICON DISCARDABLE "ИмяФайлаИконки.ico"

После этого в Netbeans в настройках проекта для всех конфигураций в подкатегории Qt в разделе Expert добавляем в параметр Custom Definitions строку:

    win32:RC_FILE = ..\ИмяПроекта_resource_icon.rc

Конструкция win32: нужна для того, чтобы файл иконки интегрировался в приложение только при компиляции в Windows. Другие операционные системы используют иные средства для отображения иконок файлов, которые мы в данной статье не рассматриваем.

Выход на внешний каталог «..\» перед именем файла используется из-за того, что файл с редактируемыми нами сейчас в Netbeans настройками проекта лежит в каталоге проекта в директории nbproject, а сам файл подключаемого ресурса — на внешнем уровне, в основной директории проекта.

[Вернуться в начало]
[Оставить отзыв в гостевой]
Hosted by uCoz