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и это тоже не сработало. Результат был точно таким же.

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

Спасибо!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]