用Qt构造FS路径的跨平台方式

dpq*_*dpq 24 c++ filesystems qt portability

可能重复:
Qt相当于PathAppend?

简短的故事:Qt 4是否具有Python的模拟os.path.join

长话:我需要QCoreApplication::applicationDirPath()在Right Way(TM)中添加应用程序目录的相对路径,以便代码不依赖于文件系统目录分隔符.

仅加入QStrings并使用"/"作为分隔符是一个很好的解决方案吗?

Ada*_*m W 18

您可以直接使用"/"或使用QDir::separator().但通常使用a QDirfor this(将"/"转换为特定于平台的路径分隔符).


lia*_*iaK 17

从Qt 4.6 QDir文档,

Qt使用"/"作为通用目录分隔符,其方式与"/"用作URL中的路径分隔符的方式相同.如果您始终使用"/"作为目录分隔符,Qt将转换您的路径以符合底层操作系统.

所以,我想QDir对你有所帮助.


Fra*_*eld 7

只要在Qt世界中使用"/"即可.要转换非Qt类和函数等的路径,请使用QDir :: toNativeSeparators(path).