我想写到<CacheDir>/myProjectName,其中<CacheDir>是以下值:
QStandardPaths::writableLocation(QStandardPaths::CacheLocation)但是我不想用C++硬编码我的项目名,因为这会创建两个地方来更新。有什么办法可以通过编程获得它吗?
发布于 2017-09-01 17:42:53
处理应用程序名称的标准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));https://stackoverflow.com/questions/46004710
复制相似问题