Qt C ++ QPixmap仅适用于绝对路径,如何使用Qt资源解决不使用?

问题描述 投票:0回答:1

我似乎无法使用Qt C ++获得相对路径。我找到的所有答案都使用“:/ img / ...”,它使用Qt资源,但是有没有更简单的解决方案?

编辑:项目文件夹为“ C:/ Users / MyName / Documents / Rectangle”。

更新:qDebug() << "Current dir:" << QDir::currentPath();显示“ build-Rectangle -...- Debug”文件夹

绝对路径有效:QPixmap exitPng("C:/Users/MyName/Documents/Rectangle/img/exit.png");

相对路径无效:QPixmap exitPng("./Rectangle/img/exit.png");

谢谢您的帮助

c++ qt qt-creator relative-path absolute-path
1个回答
1
投票

相对路径应该起作用。相对路径引用当前工作目录。您可以通过打印QDir::currentPath()来确认路径正确:

qDebug() << "Current dir:" << QDir::currentPath();

在某些情况下,相对路径可能不是您想要的。如果您喜欢使用相对于可执行文件目录的路径,则可以将相对路径与可执行文件路径组合:https://doc.qt.io/qt-5/qcoreapplication.html#applicationDirPath

© www.soinside.com 2019 - 2024. All rights reserved.