Qt 添加系统托盘

来源:互联网 发布:怎么样在淘宝网领金币 编辑:程序博客网 时间:2024/06/05 12:42
使用的方法和步骤如下:

      1、#include <QSystemTrayIcon>如果需要系统托盘图标的菜单,则还需要#include <QMenu>;

      2、声明对象QSystemTrayIcon *tray和QMenu *trayMenu;

      3、接下来可以对tay进行一些初始化的工作。

          tray->setToolTip(...);//设置tooltip

          tray->setIcon(QIcon("..."));//设置显示的图标,这里QIcon类不需要单独声明

          tray->show();//在系统托盘显示图标,可以更具需要在适当时候显示图标
void TrayIcon::createTray(QWidget * widget){    QSystemTrayIcon *trayIcon = new QSystemTrayIcon(widget);    QMenu *trayIconMenu = new QMenu(widget);    //添加托盘菜单项    QAction *online = new QAction(QObject::tr("在线"), trayIconMenu);    trayIconMenu->addAction(online); //在线    QAction *busy = new QAction(QObject::tr("忙碌"), trayIconMenu);    trayIconMenu->addAction(busy); //忙碌    QAction *away = new QAction(QObject::tr("离开"), trayIconMenu);    trayIconMenu->addAction(away); //离开    QAction *Invisiable = new QAction(QObject::tr("隐身"), trayIconMenu);    trayIconMenu->addAction(Invisiable); //隐身    trayIconMenu->addSeparator();    QAction *logout = new QAction(QObject::tr("注销"), trayIconMenu);    trayIconMenu->addAction(logout); //注销    QAction *quit = new QAction(QObject::tr("退出"), trayIconMenu);    trayIconMenu->addAction(quit); //退出    trayIcon->setContextMenu(trayIconMenu); //把菜单加入托盘    trayIcon->setToolTip("TOOLS_TOOLTIP"); //这个是说明消息    QIcon trayIconPic(QPixmap(":/res/qq.ico"));    trayIcon->setIcon(trayIconPic); //为托盘加上图片    trayIcon->show(); //显示托盘图标}

    在系统托盘图标中,当图标activated(激活)时应该做好相应的处理,它会触发 QSystemTrayIcon::ActivationReason信号,

    信号可能是单击(触发(Trigger))、  双击(DoubleClick)时应该用switch来接收处理。

    点击右键菜单选择菜单项,触发trigger()信号,由相应的槽函数进行处理  
原创粉丝点击