下面是在 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;
	}
}