centos7.9下Qt 实现系统托盘,托盘菜单,托盘消息

Posted 毛毛虫的爹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7.9下Qt 实现系统托盘,托盘菜单,托盘消息相关的知识,希望对你有一定的参考价值。

统托盘就是运行的某个程序在电脑右下角的小图标,相信大家都很熟悉。QT 提供了QSystemTrayIcon类用于实现程序的托盘。QT提供了托盘示例,在examples文件夹下面,大家可以自行研究。
下面是我自己进行实现的一个示例,主要实现的功能:
1.托盘显示,托盘图标添加;
2.托盘激活事件分发;
3.托盘菜单;
4.托盘消息,点击消息,显示主窗口。
想要显示 托盘图标,首先需要创建一个 QSystemTrayIcon对象。可以给此对象设置一些信息,比如ToolTip,比如图标。需要调用show,托盘才能显示。
m_systemTray = new QSystemTrayIcon(this);
m_systemTray->setIcon(QIcon(":/SystemTray/Resources/ico.png"));
m_systemTray->setToolTip(“SystemTray Program”);
m_systemTray->show();
给程序添加图片资源,需要编辑.qrc文件,将图片所在的路径添加进来就可以:


Resources/ico.png


效果显示:

托盘激活事件,包括点击,双击,右键等。 QSystemTrayIcon提供了信号给我们使用,信号的参数是激活类型,我们连接自己的槽函数就可以对类型进行分支,从而执行对应的操作:
Constant Value Description
QSystemTrayIcon::Unknown 0 Unknown reason
QSyste

以上是关于centos7.9下Qt 实现系统托盘,托盘菜单,托盘消息的主要内容,如果未能解决你的问题,请参考以下文章

Qt开发实现系统托盘,托盘菜单,托盘消息

没有小部件的系统托盘图标

Qt 系统托盘(加hover效果)

QT之Qml使用QSystemTrayIcon实现系统托盘

Qt系统托盘

MFC下托盘图标的实现和托盘菜单