我想写信给<CacheDir>/myProjectName
,<CacheDir>
的值是:
QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
但我不想在C ++中对我的项目名称进行硬编码,因为这会创建2个地方进行更新。有没有办法以编程方式获取它?
答案 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));