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", под моим значком в трее появляется странное окно, как будто есть контекстное меню без каких-либо элементов в нем (пожалуйста, смотрите скриншот ниже).

Странно выглядящий блок под QSystemTrayIcon

Итак, мои вопросы:

  • Я делаю что-то неправильно?
  • Как я могу заставить странную коробку уйти?
  • Это ошибка или, возможно, особенность Qt на моей платформе?

PS: я разрабатываю этот код для Ubuntu 16.04 amd64, но я думаю, что ответ на этот вопрос должен быть актуален для любой платформы.

ПРИМЕЧАНИЕ: я также попытался просто пропустить вызов setContextMenu() вместо вызова с nullptr и это тоже не сработало. Результат был точно таким же.

Любой вход приветствуется,

Спасибо!

0 ответов

Другие вопросы по тегам