я использую QSystemTrayIcon
впервые, и это было тривиально реализовать. Мой код выглядит так:
if(!connect(mTrayIcon, &QSystemTrayIcon::activated, this, &MiniStudio::onTrayActivated)) {
qWarning()<<"ERROR: could not connect QSystemTrayIcon";
}
mTrayIcon->setIcon(QIcon(":/icons/record.svg"));
mTrayIcon->setToolTip("Show MiniStudio controls");
mTrayIcon->setContextMenu(nullptr);
mTrayIcon->show();
Как вы, наверное, поняли из моего кода, я не хотите отобразить контекстное меню, Я просто хочу кнопку в трее, которая при нажатии показывает окно моего приложения.
Код вроде работает, однако, даже если я указываю контекстное меню «nullptr», под моим значком в трее появляется странное окно, как будто есть контекстное меню без каких-либо элементов в нем ( пожалуйста, смотрите скриншот ниже).
Итак, мои вопросы:
PS: я разрабатываю этот код для Ubuntu 16.04 amd64 но я думаю, что ответ на этот вопрос должен иметь отношение к любой платформе.
ПРИМЕЧАНИЕ: я также попытался просто пропустить вызов setContextMenu () вместо вызова с nullptr
и это тоже не сработало. Результат был точно таким же.
Любой вход приветствуется,
Спасибо!
Задача ещё не решена.
Других решений пока нет …