Qt 实现程序图标和通知栏设置-windows

Qt 实现程序图标和通知栏设置-windows平台

在windows平台下的程序图标设置

一般来说在windows平台下设置程序的显示图标,可以通过在.pro文件中设置RC_ICONS 来实现,代码如图所示。

#设置程序的桌面图标--windows平台
RC_ICONS = MyIcon/main.ico

设置系统托盘

系统托盘位于操作系统任务栏的右下角,托盘具有消息提示,右键菜单等功能。下面通过代码来介绍其基本使用方式。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //设置通知栏的图标
    QSystemTrayIcon *trayIcon= new QSystemTrayIcon(this);
    trayIcon->setIcon(QIcon(":/MyIcon/bussiness-man.svg"));

    //设置通知栏的单击事件
    connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(stTrayIconActive(QSystemTrayIcon::ActivationReason)));

    //设置通知栏的右键菜单
    QMenu * menu = new QMenu();

    //设置菜单项目
    QIcon icon1(":/MyIcon/component.svg");
    QAction *actionHide = new QAction(icon1, "Hide", menu);

    menu->addAction(actionHide);
    trayIcon->setContextMenu(menu);
    // 设置Action的响应
    connect(actionHide, SIGNAL(triggered()), this, SLOT(stActionHide()));
    trayIcon->show();
	
	//托盘的消息提示
    trayIcon->showMessage("title", "this is a message", QIcon(":/MyIcon/code.svg"));
}

//槽函数处理点击托盘
void MainWindow::stTrayIconActive(QSystemTrayIcon::ActivationReason acReason)
{
    switch (acReason)
    {
    case QSystemTrayIcon::Trigger:
    {
        showNormal();
        break;
    }
    default:
        ;
    }
}

//槽函数处理托盘右键菜单的隐藏action
void MainWindow::stActionHide()
{
    hide();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值