添加一个槽函数用于响应在托盘图标及托盘菜单上的鼠标点击操作
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSystemTrayIcon>
#include <QIcon>
#include <QCloseEvent>
#include <QMenu>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QMenu * menu = new QMenu;
menu->addAction("&Open",this,SLOT(slotmenuopen()),QKeySequence::Open);
menu->addAction("&Exit",this,SLOT(close()),QKeySequence::Close);
QSystemTrayIcon *trayicon = new QSystemTrayIcon;
trayicon->setIcon(QIcon(":/new/bing.ico"));
trayicon->setToolTip("this test!");
trayicon->setContextMenu(menu);//添加头盘菜单
trayicon->show();
trayicon->showMessage("this test","test",QSystemTrayIcon::Information,5000);
connect(trayicon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this,SLOT(slotactivated(QSystemTrayIcon::ActivationReason)));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::closeEvent(QCloseEvent *e)
{
// e->ignore();
// this->hide();
}
//添加一个槽函数用于响应在托盘图标及托盘菜单上的鼠标点击操作
void MainWindow::slotactivated(QSystemTrayIcon::ActivationReason reasom)
{
if(reasom == QSystemTrayIcon::Trigger)
{
if(this->isHidden())
this->show();
else
this->hide();
}
}
void MainWindow::slotmenuopen()
{
this->show();
}