QSystemTrayIcon без контекстного меню в Qt5 возможно?
Я использую 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", под моим значком в трее появляется странное окно, как будто есть контекстное меню без каких-либо элементов в нем (пожалуйста, смотрите скриншот ниже).
Итак, мои вопросы:
- Я делаю что-то неправильно?
- Как я могу заставить странную коробку уйти?
- Это ошибка или, возможно, особенность Qt на моей платформе?
PS: я разрабатываю этот код для Ubuntu 16.04 amd64, но я думаю, что ответ на этот вопрос должен быть актуален для любой платформы.
ПРИМЕЧАНИЕ: я также попытался просто пропустить вызов setContextMenu() вместо вызова с nullptr
и это тоже не сработало. Результат был точно таким же.
Любой вход приветствуется,
Спасибо!