Qt加载托盘图标

Qt加载托盘图标

需要加载托盘图标时:

    QIcon icon(":/img/res/music.png");
    QSystemTrayIcon * systemTray = new QSystemTrayIcon(this);
    systemTray->setIcon(icon);
    systemTray->setToolTip("双击打开");
    systemTray->show();                    //显示托盘图标
    //关联托盘信号
   connect(systemTray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(tray_notify(QSystemTrayIcon::ActivationReason)));

托盘信号的槽函数:

void TestWidget::tray_notify(const QSystemTrayIcon::ActivationReason & reason)
{
    switch(reason)
    {
    case QSystemTrayIcon::Context:        //右键
        qDebug()<<"QSystemTrayIcon::Context";
        break;
    case QSystemTrayIcon::DoubleClick:     //双击
        systemTray->hide();                //隐藏托盘
        qDebug()<<"QSystemTrayIcon::DoubleClick";
        break;
    case QSystemTrayIcon::Trigger:          //单击
        qDebug()<<"QSystemTrayIcon::Trigger";
        break;
    case QSystemTrayIcon::MiddleClick:      //中键单击
        qDebug()<<"QSystemTrayIcon::MiddleClick";
    default:                                        
        qDebug()<<"QSystemTrayIcon::Unknow";
        break;
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt提供了一个QSystemTrayIcon类,可以很方便地在任务栏系统托盘中显示图标和菜单,并且可以响应鼠标事件和用户交互。下面是一个简单的示例代码: ```cpp #include <QApplication> #include <QSystemTrayIcon> #include <QMenu> int main(int argc, char *argv[]) { QApplication app(argc, argv); QSystemTrayIcon trayIcon(QIcon(":/images/icon.png")); trayIcon.setToolTip("My Application"); QMenu *trayMenu = new QMenu; trayMenu->addAction("Action 1"); trayMenu->addAction("Action 2"); trayMenu->addSeparator(); trayMenu->addAction("Quit", &app, &QApplication::quit); trayIcon.setContextMenu(trayMenu); trayIcon.show(); return app.exec(); } ``` 在这个示例中,我们创建了一个QApplication实例和一个QSystemTrayIcon实例,并设置了托盘图标和提示文本。然后我们创建了一个QMenu实例,并添了一些菜单项和分隔符。最后,我们将菜单设置为QSystemTrayIcon的上下文菜单,并显示托盘图标。 当用户单击托盘图标时,会触发activated()信号。我们可以通过连接这个信号到一个槽函数来处理用户的交互。例如,我们可以显示一个弹出窗口或执行一些其他操作。 ```cpp QObject::connect(&trayIcon, &QSystemTrayIcon::activated, [](QSystemTrayIcon::ActivationReason reason) { if (reason == QSystemTrayIcon::Trigger) { // Show a popup window or perform some other action } }); ``` 这样,我们就可以在Qt应用程序中轻松地添任务栏系统托盘了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值