Qt: как сделать украшенное всплывающее окно с расширенными возможностями вместо всплывающего окна QSystemTrayIcon по умолчанию - PullRequest
4 голосов
/ 27 апреля 2011

У меня есть простое приложение для уведомлений, и я использую Qt 4.7.1 с C ++ для написания приложения, которое находится в системном трее. Каждый раз, когда приходит сообщение; Мне нужно это всплывающее окно. Но мне нужно, чтобы он был богатым (т.е. я хочу добавить к нему цвет и картинки). Однако все, что у меня есть, это всплывающее окно по умолчанию. Как я могу создать новый более богатый, который всегда будет всплывать над значком в трее?

1 Ответ

5 голосов
/ 27 апреля 2011

Все классы виджетов qt можно стилизовать с помощью таблиц стилей , в зависимости от того, где создается ваше всплывающее окно (дизайнер или в коде), назначьте ему таблицу стилей в том виде, в каком вы хотите ее видеть. Вы можете проверить таблицы стилей в дизайнере, назначив стиль виджету, используя контекстное меню виджета

После дальнейшего просмотра вызов QSystemTrayIcon::showMessage() выдает системное уведомление. Который я не знаю, можно ли это стилизовать. Файл qsystemtrayicon_win.cpp в дистрибутиве qt показывает обходной путь и показывает, как найти расположение иконки в трее (см. QSystemTrayIconSys::findIconGeometry). Как только у вас есть местоположение, вы можете открыть свое собственное окно в этом месте. Я не смотрел вглубь, я не знаю, сможете ли вы добраться до места для иконки с информацией, которой вы располагаете в публичной части Qt. Возможно, вам придется пройти все окна с этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...