Tray::Tray(QObject *parent) : QObject(parent) { //创建图标 QIcon icon = QIcon("TrayIcon.png"); trayIcon = new QSystemTrayIcon(this); trayIcon->setIcon(icon); trayIcon->setToolTip(tr("气象数据下载器")); trayIcon->show(); //气泡提示 QString titlec=tr("气象数据下载器"); QString textc=tr("程序已转到后台服务"); trayIcon->showMessage(titlec,textc,QSystemTrayIcon::Information,5000); //添加单/双击鼠标相应 connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this,SLOT(trayiconActivated(QSystemTrayIcon::ActivationReason))); //创建动作 minimizeAction = new QAction(tr("最小化"), this); connect(minimizeAction, SIGNAL(triggered()), SIGNAL(signal_hide())); restoreAction = new QAction(tr("还原"), this); connect(restoreAction, SIGNAL(triggered()),SIGNAL(signal_showNormal())); quitAction = new QAction(tr("退出"), this); connect(quitAction, SIGNAL(triggered()),SIGNAL(signal_quit())); //创建右键弹出菜单 trayIconMenu = new QMenu; trayIconMenu->addAction(minimizeAction); trayIconMenu->addAction(restoreAction); trayIconMenu->addSeparator();//分隔 trayIconMenu->addAction(quitAction); trayIcon->setContextMenu(trayIconMenu); }
trayIcon::trayIcon():QWidget() { QIcon icon = QIcon(":/image/image/icon.png"); TrayIcon = new QSystemTrayIcon(this); TrayIcon->setIcon(icon); TrayIcon->setToolTip(tr("托盘")); QString title = tr("what happen ?"); QString textc = tr("what's this ?"); TrayIcon->show(); TrayIcon->showMessage(title,textc,QSystemTrayIcon::Information,5000); connect(TrayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(trayiconActivated(QSystemTrayIcon::ActivationReason))); miniSizeAction = new QAction(tr("最小化"),this); connect(miniSizeAction,SIGNAL(triggered()),this,SLOT(hide())); }
/*********************************************************************************************** *函数名 :loginCreateTrayIcon *函数功能描述 :设置托盘菜单 *函数参数 : 无 *函数返回值 : 无 *作者 :pizhi *函数创建日期 : 2014.9.2 *函数修改日期 : 尚未修改 ***********************************************************************************************/ void LogIn::loginCreateTrayIcon() { QIcon icon_tray = QIcon(":/new/images/images/nologin.ico"); trayIcon = new QSystemTrayIcon(this); trayIcon->setIcon(icon_tray); trayIcon->setToolTip(tr("电子文件密级标志管理系统")); QString titlec=tr("电子文件密级标志"); QString textc=tr("欢迎使用电子文件密级标志"); trayIcon->show(); trayIcon->showMessage(titlec,textc,QSystemTrayIcon::Information,5000); //添加单/双击鼠标相应 connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(trayiconActivated(QSystemTrayIcon::ActivationReason))); //创建监听行为 //1.显示 displayAction = new QAction(tr("显示"), this); QIcon icon_show = QIcon(":/new/images/images/show.bmp"); displayAction->setIcon(icon_show); connect(displayAction, SIGNAL(triggered()), this, SLOT(showNormal())); // QAction *leadStrategyAction; // QAction *settingAction; // QAction *aboutAction; //4.关于... // QAction *helpAction; //5.帮助... // QAction *logoutAction; //6.注销 // QAction *quitAction; //7.退出 //2.导入策略 leadStrategyAction = new QAction(tr("导入策略"), this); connect(leadStrategyAction, SIGNAL(triggered()), this, SLOT(loadpolicyActionSlot())); //3.设置 settingAction = new QAction(tr("设置..."), this); connect(settingAction, SIGNAL(triggered()), this, SLOT(settingActionSlot())); QIcon icon_setting = QIcon(":/new/images/images/setting.bmp"); settingAction->setIcon(icon_setting); aboutAction = new QAction(tr("关于..."), this); QIcon icon_about = QIcon(":/new/images/images/about.bmp"); aboutAction->setIcon(icon_about); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutActionSlot())); helpAction = new QAction(tr("帮助..."), this); QIcon icon_help = QIcon(":/new/images/images/help.bmp"); helpAction->setIcon(icon_help); connect(helpAction, SIGNAL(triggered()), this, SLOT(helpActionSlot())); logoutAction = new QAction(tr("注销"), this); QIcon icon_logoff = QIcon(":/new/images/images/logoff.bmp"); logoutAction->setIcon(icon_logoff); logoutAction->setEnabled(false);//未登录时,不可以点击注销 //connect(logoutAction, SIGNAL(triggered()), this, SLOT(showNormal())); quitAction = new QAction(tr("退出"), this); connect(quitAction, SIGNAL(triggered()), this,SLOT(quitAcitonSlot())); QIcon icon_quit = QIcon(":/new/images/images/logout.bmp"); quitAction->setIcon(icon_quit); //创建右键弹出菜单列表 trayIconMenu = new QMenu; trayIconMenu->addAction(displayAction); trayIconMenu->addAction(leadStrategyAction); trayIconMenu->addAction(settingAction); trayIconMenu->addSeparator(); trayIconMenu->addAction(aboutAction); trayIconMenu->addAction(helpAction); trayIconMenu->addAction(logoutAction); trayIconMenu->addAction(quitAction); trayIcon->setContextMenu(trayIconMenu);//创建右键弹出菜单 }