如何从 C++ 代码中获取项目名称?
How to get project name from C++ code?
我想写信给 <CacheDir>/myProjectName
,其中 <CacheDir>
是以下值:
QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
但我不想用 C++ 硬编码我的项目名称,因为那样会创建 2 个要更新的地方。有没有办法以编程方式获取它?
处理应用程序名称的标准 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));
我想写信给 <CacheDir>/myProjectName
,其中 <CacheDir>
是以下值:
QStandardPaths::writableLocation(QStandardPaths::CacheLocation)
但我不想用 C++ 硬编码我的项目名称,因为那样会创建 2 个要更新的地方。有没有办法以编程方式获取它?
处理应用程序名称的标准 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));