QT系统托盘

QT系统托盘

其它参考:

https://blog.csdn.net/cpp_learner/article/details/115005306

 

QSystemTrayIcon* trayIcon=new QSystemTrayIcon(this);
trayIcon->setIcon(QIcon(":/png/greenStone.png"));
trayIcon->show();
复制代码
void Widget::closeEvent(QCloseEvent *event)
{
    if(trayIcon->isVisible())   //托盘是显示的
    {
        QMessageBox::information(this,"提示","程序最小化,通过系统托盘右键关闭");
        this->hide();   //隐藏程序
        event->ignore();    //忽略关闭事件,这样才不会关闭程序
    }
}
复制代码

 

复制代码
//槽函数,用来处理点击托盘的操作
void Widget::trayActivated(QSystemTrayIcon::ActivationReason reason)
{
    switch(reason)
    {
    case QSystemTrayIcon::Trigger:  //点击
    case QSystemTrayIcon::DoubleClick:  //双击
    case QSystemTrayIcon::MiddleClick:  //中键点击
    }
}
复制代码
复制代码
    //可以定义在.h文件中
    QMenu *trayIconMenu;
    QAction *minimizeAction;
    QAction *maximizeAction;
    QAction *restoreAction;
    QAction *quitAction;
    //下面的构造函数中进行执行
    minimizeAction=new QAction("最小化",this);
    connect(minimizeAction,&QAction::triggered,this,&Widget::hide);
    maximizeAction=new QAction("最大化",this);
    connect(maximizeAction,&QAction::triggered,this,&Widget::showMaximized);
    restoreAction=new QAction("还原",this);
    connect(restoreAction,&QAction::triggered,this,&Widget::showNormal);
    quitAction=new QAction("退出",this);
    //connect(quitAction,&QAction::triggered,this,&Widget::close);    //关联窗口的close不太合适
    connect(quitAction,&QAction::triggered,this,&QCoreApplication::quit);   //应用程序的退出
 
    //创建菜单,添加菜单项
    trayIconMenu=new QMenu(this);
    trayIconMenu->addAction(minimizeAction);
    trayIconMenu->addAction(maximizeAction);
    trayIconMenu->addAction(restoreAction);
    trayIconMenu->addSeparator();   //分割线
    trayIconMenu->addAction(quitAction);
    //给系统托盘添加右键菜单
    trayIcon->setContextMenu(trayIconMenu);
复制代码
trayIcon->setToolTip("这是一个托盘示例");

参考:

https://blog.csdn.net/weixin_44263232/article/details/136158349

 

posted @   txwtech  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2023-12-11 华为AI计算框架昇思MindSpore零基础快速入门
2019-12-11 vc++,MfC ,cstring与char相互转换知识
点击右上角即可分享
微信分享提示