среда, 8 июля 2009 г.

SVG-иконки в QT-программах.

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

Оказывается Qt с легкостью хватает любые форматы изображений без специального объявления кроме SVG. Для того чтобы QIcon понял что это, надо чтобы расширение svg было в имени. Лечение выглядит натуральным хаком - в alias ресурса надо добавить ".svg" и его-же в код грузящий иконки, Qt.QIcon(':/icon.svg').

Интересно только чем думают авторы?