Как я могу создать значок в трее в Linux с помощью C ++?
-
19-09-2019 - |
Вопрос
В Windows я могу использовать Shell_NotifyIcon()
.Каков Linux-эквивалент этой функции?
Отличается ли это в GNOME (gtk) и KDE (qt)?Не могу найти никаких руководств в Интернете.
Решение
Да, это зависит от среды рабочего стола, которую вы используете.
В Qt (KDE) вы можете сделать это кроссплатформенным способом, используя QSystemTrayIcon
.
Существует даже пример приложения в Qt.
В GTK вы делаете это с помощью GtkStatusIcon
.Существует образец приложения в это сообщение в блоге.
Другие советы
Все основные настольные компьютеры поддерживают текущую спецификацию значков systray на основе XEmbed.Qt и GTK предоставляют средства для удобного использования этого протокола.Независимо от выбранного вами инструментария значки будут появляться во всех средах рабочего стола.Если вы используете Qt, вы получаете даже совместимость с другими платформами, такими как Windows, бесплатно.