我的 Qt 应用程序在全新安装时显示 QSystemTrayIcon,但重新启动或注销/登录后,我看到 QSystemTrayIcon 在启动时从 UI 中消失。
我在 20.04 和 22.04 上看到了这个问题。18.04 没有问题。
我的实现很简单。初始化时调用此函数:
// Create tray and setup tray icon
void MyApp::createTrayIcon()
{
QString trayNotConn = TRAY_IMG;
m_pTrayIconMenu = new QMenu(this);
m_pTrayImage = new QPixmap(trayNotConn);
m_pTrayIcon = new QSystemTrayIcon(this);
QIcon icon(*m_pTrayImage);
m_pTrayIcon->setIcon(icon);
setWindowIcon(icon);
m_pTrayIcon->show();
connect(m_pTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(onActivated(QSystemTrayIcon::ActivationReason)));
}
我知道 Gnome 已停止支持系统托盘图标,并且我在 20.04 上使用 Top Icons Extension。尽管如此,我仍然在重启时看到该问题。