Qt设置系统托盘程序(QSystemTrayIcon)

要写一个可以隐藏到托盘Qt界面程序可以分三步

  1. mainwindow.cpp中添加头文件:

    #include <QSystemTrayIcon>
    
  2. 挑选一个顺眼的icon,添加到qrc中,比如笔者选择了:/icon/办公软件.png

  3. 把以下代码粘贴到mainwindow.cpp的构造函数中,把icon换成自己的,大功告成~

    //    设置当窗口关闭时不退出程序
        QApplication::setQuitOnLastWindowClosed(false);
    
    //    定义托盘图标,并设置父控件为mainwindow
        QSystemTrayIcon *icon = new QSystemTrayIcon(this);
    //    挑一个顺眼的icon,路径从qrc中复制即可
        icon->setIcon(QIcon(":/icon/办公软件.png"));
    
    //    添加右键菜单
        QMenu *menu = new QMenu;
        QAction *normal, *min, *max, *quit;
        normal = new QAction("显示主界面");
        connect(normal, &QAction::triggered, [&](){
            showNormal();
        });
        min = new QAction("最小化");
        connect(min, &QAction::triggered, [&](){
            showMinimized();
        });
        max = new QAction("最大化");
        connect(max, &QAction::triggered, [&](){
            showMaximized();
        });
        quit = new QAction("退出");
        connect(quit, &QAction::triggered, [&](){
            QCoreApplication::quit();
        });
    
        menu->addAction(normal);
        menu->addAction(min);
        menu->addAction(max);
        menu->addSeparator();
        menu->addAction(quit);
    
        icon->setContextMenu(menu);
    
    //    设置单击显示主界面
        connect(icon, &QSystemTrayIcon::activated, [=](QSystemTrayIcon::ActivationReason r){
            if(r == QSystemTrayIcon::ActivationReason::Trigger) emit normal->triggered();
        });
    
    //    显示托盘图标
        icon->show();
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值