系统托盘图标动作的实现。
这里指的动作和之前的Action有些不同,主要是指右键点击、双击、中键点击的动作。
动作的实现较为容易,整个过程有点类似Event的实现机制。
首先使用一个connect,如下:
connect(tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(trayAction(QSystemTrayIcon::ActivationReason)));
然后在trayAction(QSystemTrayIcon::ActivationReason)中对QSystemTrayIcon::ActivationReason进行判断
void MainWindow::trayAction(QSystemTrayIcon::ActivationReason reason)
{
switch(reason)
{
case QSystemTrayIcon::Trigger : this->showNormal();
this->focusWidget();
break;
case QSystemTrayIcon::DoubleClick:
case QSystemTrayIcon::MiddleClick: break;
case QSystemTrayIcon::Context: this->tray->contextMenu();
default : break;
}
}
这样就可以轻松实现动作了