当前位置: 首页 > news >正文

qt 录屏 显示鼠标_Qt官方示例系统托盘

该示例演示如何将带有菜单的图标和弹出消息添加到桌面环境的系统托盘。

da20c7378c9a33846df99ccdb1961671.gif

  总结该示例的一些使用方法如下:

0x01 创建并显示一个系统托盘

#include 
QSystemTrayIcon systemTrayIcon;
systemTrayIcon.show();

0x02 设置图标和悬停文本

/* 设置托盘显示的图标。 */
systemTrayIcon.setIcon(...);
/* 设置鼠标移动到托盘图标显示的文本。 */
systemTrayIcon.setToolTip(...); 

0x03 设置右键菜单

QMenu menu;
QAction *minimizeAction = new QAction("Minimize", &menu);
QAction *maximizeAction = new QAction("Maximize", &menu);

menu.addAction(minimizeAction);
menu.addAction(maximizeAction);

connect(minimizeAction, &QAction::triggered, [](){
 /* 捕抓事件触发 */
});
connect(maximizeAction, &QAction::triggered, [](){
    /* 捕抓事件触发 */
});

m_systemTrayIcon.setContextMenu(&mmenu);

0x04 绑定系统托盘的激活操作

/* 绑定系统托盘的激活操作信号槽连接。 */
connect(&systemTrayIcon,
        &QSystemTrayIcon::activated,
        [](QSystemTrayIcon::ActivationReason reason){
            switch (reason)
            {
                case QSystemTrayIcon::DoubleClick: /* 来自于双击激活。 */
                case QSystemTrayIcon::Trigger: /* 来自于单击激活。 */
                    ...
                    break;
            }
        });

0x05 触发显示系统通知

  • 参数1:标题;
  • 参数2:通知消息;
  • 参数3:通知消息的类型;
  • 参数4:显示持续时长。
systemTrayIcon.showMessage("title", "message", QSystemTrayIcon::MessageIcon::Information, 3000);

0x07 注意

  • 你需要设置托盘图标,不然会报以下警告:
QSystemTrayIcon::setVisible: No Icon set

0x08 关于更多

  • 「QtCreator软件」可以找到:

6440b2118a2db2988628edd9fd7bf35b.png

  • 或在以下「Qt安装目录」找到:

C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\desktop\systray
  • 「相关链接」
https://doc.qt.io/qt-5/qtwidgets-desktop-systray-example.html
  • Qt君公众号回复「Qt示例」获取更多内容。

相关文章:

  • redis两台机器集群_redis4.0 cluster集群安装方法
  • python request请求参数_python+requests——简单发送请求——以及包括参数的请求
  • spring boot 事务_体验微服务分布式事务开源框架ServiceComb的Saga TCC模型
  • python的特别注释_写好python的注释文档很容易
  • python字符串查找的四种方法_Python之字符串的遍历的4种方式
  • python监控网页报警自动配置交换机_python实现自动监控网站并发送邮件告警
  • 按键精灵和python功能对比_python 自动化对比返回结果
  • 天猫精灵 python 控制_天猫精灵的高阶玩法-控制我的电脑
  • python将list转换为迭代器代码_Python进阶内容(四)--- 迭代器(Iterator)与生成器(Generator)...
  • python路测是什么_路测是怎样的一种工作体验?
  • python 隐马尔科夫_Python的隐马尔科夫HMMLearn库的应用教学
  • 电容过大导致电压下降_关于补偿电容,你又了解多少呢?
  • 填谷式无源pfc电路_分析PFC并用于对电机控制解决
  • 怎么实现角色权限的分配_新生日记2“铁血妈妈”刘璇和“艺术慈父”王弢,你家角色怎么分配?...
  • adm 客户机禁止使用cpu_2021适合女士使用的轻薄笔记本电脑、性价比高的平板电脑推荐(送女友老婆情人节生日礼物)...
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 77. Combinations
  • HTTP--网络协议分层,http历史(二)
  • JS实现简单的MVC模式开发小游戏
  • k个最大的数及变种小结
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 产品三维模型在线预览
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 浮动相关
  • 力扣(LeetCode)357
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 什么是Javascript函数节流?
  • No resource identifier found for attribute,RxJava之zip操作符
  • RDS-Mysql 物理备份恢复到本地数据库上
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $ git push -u origin master 推送到远程库出错
  • $.each()与$(selector).each()
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)ssm码农论坛 毕业设计 231126
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)为C# Windows服务添加安装程序
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(一):@echo off
  • .mysql secret在哪_MySQL如何使用索引
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .Net组件程序设计之线程、并发管理(一)
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复