QT QSystemTrayIcon创建系统托盘区图标失败
前言
在开发个人项目时,需要在Windows
系统托盘区创建一个图标,在代码中,我使用的是QT
的QSystemTrayIcon
类进行图标创建,但是在加上图片资源后,一直没有图标显现。我使用的是Qt6
,Windows11
系统。
示例代码
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
结论
在字符串中,需要注意转义字符的问题,特别是使用地址的时候