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

QT QSystemTrayIcon创建系统托盘区图标失败

前言

在开发个人项目时,需要在Windows系统托盘区创建一个图标,在代码中,我使用的是QTQSystemTrayIcon类进行图标创建,但是在加上图片资源后,一直没有图标显现。我使用的是Qt6Windows11系统。

示例代码

    QSystemTrayIcon *trayIcon = new QSystemTrayIcon(this);
    trayIcon->setIcon(QIcon("D:\QtProject\icon\debug\Resoure\icon.png"));

    trayIcon->show();

上述就是我在项目中的具体代码,一直无法成功创建图标。
在检擦了资源路径的准确性后,我使用QFile区判断文件是否存在。

	qDebug()<<QApplication::applicationDirPath();
	QString path = QApplication::applicationDirPath() + "\Resoure\icon.png";
	QFile files(path);
	if(!files.exists())
	{
		qDebug()<<"file not exists";
	}

上述代码在执行时一直输出file not exists,但是图片资源文件确实是在这个路径下。
在我打印上述代码中的变量path后,问题的原因浮现:

D:\QtProject\icon\debug\Resoure\icon.png

这个路径是我直接从windows的资源管理器上复制下来的,我遗忘了一点,\ 在C++语法中具有转义的作用,所有该处资源地址一直是不对的;

D:/QtProject/icon/debugResoureicon.png

结论

在字符串中,需要注意转义字符的问题,特别是使用地址的时候


http://www.kler.cn/news/306994.html

相关文章:

  • 后端开发刷题 | 兑换零钱(动态规划)
  • Prometheus+grafana+kafka_exporter监控kafka运行情况
  • 【Scala入门学习】基本数据类型和变量声明
  • [Mamba_4]LMa-UNet
  • 95、k8s之rancher可视化
  • STM32之FMC—扩展外部 SDRAM
  • Neo4j入门案例:三星堆
  • 基于Springboot的校园防疫管理系统的设计与实现
  • 【爬虫软件】小红书按关键词批量采集笔记,含笔记正文、转评赞藏等!
  • Linux whereis和which的区别
  • 光伏板热斑缺陷检测数据集
  • RocketMQ出现The broker does not support consumer to filter message by SQL92
  • JUC学习笔记(三)
  • 计算机网络(六) —— http协议详解
  • 黑马十天精通MySQL知识点
  • 【佳学基因检测】在EXCEL中,如何获取A列的第9-29个字符,将其填入另一列中
  • 华为ensp中vlan与静态路由技术的实现
  • 『功能项目』伤害数字UI显示【53】
  • 基于SpringBoot+Vue+MySQL的校园健康驿站管理系统
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前数据吞吐量(Python)
  • Java | Leetcode Java题解之第406题根据身高重建队列
  • ARACom Proxy Class API 概念
  • 鸿蒙介绍、鸿蒙编程环境、基本组件、页面跳转学习
  • CPU 和 GPU:为什么GPU更适合深度学习?
  • PostgreSQL 日常SQL语句查询记录
  • linux网络编程——UDP编程
  • 预测日前电价:回顾最先进的算法、最佳实践和公开基准——阅读笔记
  • Linux FTP服务问题排查
  • 数据技术革命来袭!从仓库到飞轮,企业数字化的终极进化!
  • 机房运维工作的核心:确保系统稳定与高效