Qt指定某些应用程序数据的位置

Qt specifying a location for certain application data

本文关键字:数据 位置 应用程序 Qt      更新时间:2023-10-16

我正在Qt中开发应用程序。我有 2 个目录,一个用于配置,另一个用于程序脚本。

我想让它说,当我构建项目时,它会将这些目录放在某个目录中。

例如在 Linux 上:

/home/username/.project_name/configurations
/home/username/.project_name/scripts

这也应该是跨平台的,因此在Windows和MacOS上,这些文件应放置在存储应用程序数据的正常位置。

有没有办法指定这些目录(以及其中的文件)应该放置在哪里?它是项目文件中的一个选项吗?哪个选项?

qt 资源系统用于将文件存储在应用程序的可执行文件中。

您需要回答两个问题:

  1. 文件从何而来?您的安装程序或软件包是否包含它们,或者它们是否在可执行文件中,应用程序提取并保存它们。那么qt资源系统就很有用了。

  2. 如何获取创建配置目录所需的路径。 QDesktopServices::storageLocation(QDesktopServices::DataLocation)以跨平台的方式返回此类路径。