Пересел на Qt. Хотелось бы использовать в программе стандартные иконки, как в других программах. Однако не смог ни в офф. документации, ни в гугле найти, как это сделать.
Иконки, например, такие: открытие файла, закрытие, выход из программы, отменить, вернуть, копировать, вставить, найти, печать, о программе и т.п. Т.е. это текстовый редактор. (Впринципе, понадобятся или иконки управления шрифтом (жирный, курсив, и т.п.), но вроде таких стандартных нет?). Обязательное условие: это должно работать в во всех средах (Gtk/Gnome, Qt/KDE и на винде).
Подскажите, как это сделать?
Qt4 и системные иконки
Модератор: Модераторы разделов
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Qt4 и системные иконки
QIcon::fromTheme - по идее оно? Начиная с Qt 4.6. Но с Windows небольшие проблемы (как и MacOSX).
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Qt4 и системные иконки
Спасибо. На линуксе работает нормально.
Правильно ли я понял, что на винде надо свою тему создать на основе виндовой, но с правильными названиями иконок?
Правильно ли я понял, что на винде надо свою тему создать на основе виндовой, но с правильными названиями иконок?
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Qt4 и системные иконки
Судя по описанию - да. Не пробовал. Скорее всего надо следовать правилам freedesktop. Попробуйте для начала просто папку (или парочку) из /usr/share/icons скопировать и подключить в винде её подключить через QIcon::setThemeSearchPaths и QIcon::setThemeName. По идее должно прокатить.
-
nadge
- Сообщения: 1519
- ОС: ArchLinux, Ubuntu 10.10
Re: Qt4 и системные иконки
ОК, спасибо, попробую.
З.Ы. Но вообще странно, что в Qt под виндой не реализовали такую (имхо) несложную и часто используемую функцию. По идее ведь можно сделать обертку над виндовым механизмом получения иконок, совместимую с тем же freedesktop...
З.Ы. Но вообще странно, что в Qt под виндой не реализовали такую (имхо) несложную и часто используемую функцию. По идее ведь можно сделать обертку над виндовым механизмом получения иконок, совместимую с тем же freedesktop...
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Qt4 и системные иконки
Да в общем-то ничего странного. Иконки в винде сделаны как ресурсы в DLL'ках. Доступны по номерам (имён нет). Соответствие номеров в разных версиях никто не гарантирует. Т.е. получение сделать - это несложно, а вот уверенности в том, что это именно та иконка будет - нет. Плюс к этому набор иконок в WinXP меньше такового в Win7. Решили костылей не ваять.
-
distruktor
- Сообщения: 11
- ОС: Slackware Linux
Re: Qt4 и системные иконки
Вообщето QT содержит и основные иконки, но их мало, остальное нужно подключать самому. Пример проигрыватель SM Player, в нем все иконки обычные пнг, посмотрите его исходники и думаю сможете найти полезный код и для себя.