下面是在 Qt 中实现系统托盘的代码片段:先为主窗口设置图标,再创建 QSystemTrayIcon 并关联单击事件,在回调中隐藏托盘图标并重新显示主窗口。
//托盘
QIcon icon = QIcon("icon/icon.png");
this->setWindowIcon(icon);
tray = new QSystemTrayIcon(this);
tray->setIcon(icon);
tray->setToolTip("KKPlayer");
connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(slot_tray(QSystemTrayIcon::ActivationReason)));
void MainWindow::slot_tray(QSystemTrayIcon::ActivationReason reason)
{
//触发后台图标执行相应事件
switch (reason)
{
case QSystemTrayIcon::Trigger:/*单击*/
{
tray->hide();
this->show();
}
default:
break;
}
}