这两天跟托盘较上劲了,如何实现酷狗那种托盘右键菜单呢?看上去高大上,其实并不难。
只要在托盘产生的时候,给它加上右键菜单就行了。
void player::on_closeBtn_clicked()//单击关闭按钮,产生托盘和托盘菜单
{
this->hide();
trayIcon->setIcon(QIcon(":/new/prefix1/image/tray.jpg"));
QMenu *trayMenu=new QMenu();
aboutAction=new QAction(tr("关于"),this);
quitAction=new QAction(tr("退出"),this);
trayMenu->addAction(aboutAction);
connect(aboutAction,SIGNAL(triggered(bool)),this,SLOT(showAbout()));
trayMenu->addAction(quitAction);
connect(quitAction,SIGNAL(triggered(bool)),this,SLOT(close()));
trayIcon->setContextMenu(trayMenu);
trayIcon->setToolTip("托盘图标");
trayIcon->show();
trayIcon->showMessage("主人","我在这里哦",QSystemTrayIcon::Information,5000);//一定要放在这里,否则提示信息会不显示
}
这个是我的代码一部分,从中不难看出,和正常的界面添加右键菜单一样,并没有什么不同。这样就可以轻松实现托盘图标的右键功能了。
运行后的结果: