您的位置:首页 > 编程语言 > Qt开发

QT使用通知区域小图标

2011-04-08 15:28 471 查看
QSystemTrayIcon *TrayIcon= new QSystemTrayIcon(this);
TrayIcon->setIcon(QIcon(":/icon/normal.png"));
connect(TrayIcon,SIGNAL(messageClicked()),this,SLOT(showNormal()));
restoreAction = new QAction(ctr("打开主界面"), this);
connect(restoreAction, SIGNAL(triggered()), this, SLOT(showNormal()));
saveAction = new QAction(ctr("保存配置"), this);
connect(saveAction, SIGNAL(triggered()), this, SLOT(saveconf()));
quitAction = new QAction(ctr("退出"), this);
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
// connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(saveconf()));
connect(TrayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(iconActivated(QSystemTrayIcon::ActivationReason))); //触发信号
QMenu *trayIconMenu = new QMenu(this);

trayIconMenu->addAction(restoreAction);
trayIconMenu->addAction(saveAction);
trayIconMenu->addSeparator();
trayIconMenu->addAction(quitAction);
TrayIcon->setContextMenu(trayIconMenu); //添加右键菜单
TrayIcon->show();


 

左键单击触发槽

void MainWindow::iconActivated(QSystemTrayIcon::ActivationReason reason)
{
switch (reason) {
case QSystemTrayIcon::Trigger:
this->showNormal();
break;
default:
;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt signal