如何从C ++代码中获取项目名称?

时间:2017-09-01 16:45:03

标签: c++ qt path directory projects-and-solutions

我想写信给<CacheDir>/myProjectName<CacheDir>的值是:

QStandardPaths::writableLocation(QStandardPaths::CacheLocation)

但我不想在C ++中对我的项目名称进行硬编码,因为这会创建2个地方进行更新。有没有办法以编程方式获取它?

1 个答案:

答案 0 :(得分:3)

处理应用程序名称的标准Qt方式是QCoreApplication::applicationName() - 当然你必须在某处设置(通常在你创建应用程序的main()函数中)。

完成后,应用程序名称实际上用作特定于应用程序的QStandardPath的一部分 - 例如CacheLocation的文档说,对于Windows,CacheLocation是C:/Users/<USER>/AppData/Local/<APPNAME>/cache,这意味着应用程序名称已经在路径中。

因此,对于您的示例,您可以为您的应用创建一个独特的路径:

auto myCacheFile = QString("%1/cache.txt")
             .arg(QStandardPaths::writableLocation(QStandardPaths::CacheLocation));