Qt5中没有上下文菜单的QSystemTrayIcon可能吗?

时间:2017-03-24 01:33:47

标签: c++ qt qt5 contextmenu qsystemtrayicon

我第一次使用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();

您可能从我的代码中了解到我 想要显示上下文菜单,我只想要一个按钮单击的托盘显示我的应用程序窗口。

但是,即使我指定了&#34; nullptr&#34;上下文菜单,每当我点击它时,我的托盘图标下面仍然会出现看起来很奇怪的盒子,好像有一个没有任何项目的上下文菜单(请看下面的截图)。

Strange looking box under QSystemTrayIcon

所以我的问题是:

  • 我做错了吗?
  • 如何让奇怪的盒子消失?
  • 这是一个错误,还是我平台上Qt的一个功能?

PS:我正在为 Ubuntu 16.04 amd64 开发此代码,但我认为这个问题的答案应与任何平台相关。

注意:我也试过省略setContextMenu()调用,而不是用nullptr调用它,这也没有用。结果完全相同。

欢迎任何欢迎,

谢谢!

0 个答案:

没有答案