Qt之任务栏系统托盘图标


托盘图标,一个自己脑子出现很久的词,可惜自己都没动手去实现。最近看见的,听见的多了,自己也感兴趣就弄弄了,感觉还蛮简单了。

贴出效果图:

 

 

那么多功能,其实就一个类就搞定了,那就是QSystemTrayIcon

头文件(主要 1.声明菜单相关动作 2.声明系统托盘对象,以及相关托盘槽函数 3.关闭事件)

  1. #ifndef SYSTEMTRAYICON_H   
  2. #define SYSTEMTRAYICON_H   
  3.   
  4. #include <QMainWindow>   
  5. #include <QMenu>   
  6. #include <QSystemTrayIcon>   
  7. #include <QCloseEvent>   
  8. namespace Ui {  
  9.     class SystemTrayIcon;  
  10. }  
  11.   
  12. class SystemTrayIcon : public QMainWindow  
  13. {  
  14.     Q_OBJECT  
  15.   
  16. public:  
  17.     explicit SystemTrayIcon(QWidget *parent = 0);  
  18.     ~SystemTrayIcon();  
  19.   
  20.     void CreatTrayMenu();  
  21.     void CreatTrayIcon();  
  22.   
  23.     QSystemTrayIcon *myTrayIcon;  
  24.   
  25.     QMenu *myMenu;  
  26.   
  27.     QAction *miniSizeAction;  
  28.     QAction *maxSizeAction;  
  29.     QAction *restoreWinAction;  
  30.     QAction *quitAction;  
  31.   
  32. private:  
  33.     Ui::SystemTrayIcon *ui;  
  34.   
  35. public slots:  
  36.     void iconActivated(QSystemTrayIcon::ActivationReason reason);  
  37.   
  38. protected:  
  39.     void closeEvent(QCloseEvent *event);  
  40.   
  41. };  
  42.   
  43. #endif // SYSTEMTRAYICON_H  
  • 1
  • 2
  • 下一页

相关内容