void Shutdown::initTrayIcon()
{
//创建并设置动作
minAction = new QAction(this);
minAction->setIcon(QIcon(":/icons/min.bmp"));
connect(minAction,SIGNAL(triggered()),this,SLOT(hide()));
restoreAction = new QAction(this);
restoreAction->setIcon(QIcon(":/icons/restore.bmp"));
connect(restoreAction,SIGNAL(triggered()),this,SLOT(showNormal()));
aboutAction = new QAction(this);
aboutAction->setIcon(QIcon(":/icons/shutdown03.jpg"));
connect(aboutAction,SIGNAL(triggered()),this,SLOT(showAboutDlg()));
quitAction = new QAction(this);
quitAction->setIcon(QIcon(":/icons/quit.bmp"));
connect(quitAction,SIGNAL(triggered()),qApp,SLOT(quit()));
//创建托盘图标菜单并添加动作
trayIconMenu = new QMenu(this);
trayIconMenu->addAction(restoreAction);
trayIconMenu->addAction(minAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(aboutAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
//创建并设置托盘图标
trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(QIcon(":/icons/shutdown01.png"));
//显示系统托盘图标
trayIcon->show();
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,
SLOT(trayIconActivated(QSystemTrayIcon::ActivationReason)));
connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(trayIconMsgClicked()));
}
本文介绍了一个使用 Qt 编写的程序中如何初始化系统托盘图标的过程。包括创建和配置托盘图标所需的动作、菜单以及托盘图标本身,并设置了相应的信号槽以响应用户的交互。
2085

被折叠的 条评论
为什么被折叠?



