QT的托盘图标类是QSystemTrayIcon
ide
要实现酷狗那种单击关闭按钮,直接转换成托盘图标,而后点击托盘图标又能够恢复。函数
首先关闭按钮实现托盘图标不难。this
声明一个托盘图标类:spa
QSystemTrayIcon *trayIcon;
code
trayIcon=new QSystemTrayIcon;orm
而后添加相应的图标和提示信息:事件
this->hide();//这里是隐藏主窗口ip
trayIcon->setIcon(QIcon(":/new/prefix1/image/tray.jpg"));
trayIcon->show();
trayIcon->setToolTip("托盘图标");
trayIcon->showMessage("主人","我在这里哦",QSystemTrayIcon::Information,5000);
接下来要实现双击托盘图标显示窗口: 须要监测QSystemTrayIcon::ActivationReason
咱们新建一个槽来实现:it
void player::tuopan(QSystemTrayIcon::ActivationReason reason)io
{
switch(reason) {
case QSystemTrayIcon::DoubleClick:
this->showNormal();
break;
default:
break;
}
}
固然有必要将双击事件和槽相链接: connect ( trayIcon , SIGNAL (activated ( QSystemTrayIcon :: ActivationReason )), this ,
SLOT(tuopan(QSystemTrayIcon::ActivationReason)));//将托盘图标和双击事件关联
简单的函数和代码,就能够实现酷狗的效果了。