1.基本用法
#include <QStandardPaths>
void PrintSystemFolder()
{
qDebug() << "系统字体目录路径:" << QStandardPaths::standardLocations(QStandardPaths::FontsLocation);
qDebug() << "系统桌面目录路径:" << QStandardPaths::standardLocations(QStandardPaths::DesktopLocation);
qDebug() << "用户文档目录路径:" << QStandardPaths::standardLocations(QStandardPaths::DocumentsLocation);
qDebug() << "用户音乐目录路径:" << QStandardPaths::standardLocations(QStandardPaths::MusicLocation);
qDebug() << "用户图片目录路径:" << QStandardPaths::standardLocations(QStandardPaths::PicturesLocation);
qDebug() << "系统临时文件目录路径:" << QStandardPaths::standardLocations(QStandardPaths::TempLocation);
qDebug() << "系统缓存目录路径:" << QStandardPaths::standardLocations(QStandardPaths::CacheLocation);
qDebug() << "系统下载目录路径:" << QStandardPaths::standardLocations(QStandardPaths::DownloadLocation);
qDebug() << "系统缓存目录路径:" << QStandardPaths::standardLocations(QStandardPaths::CacheLocation);
}
2.MacOS与Windows系统的目录路径
Path type | macOS | Windows |
---|
DesktopLocation | “~/Desktop” | “C:/Users/<USER>/Desktop” |
DocumentsLocation | “~/Documents” | “C:/Users/<USER>/Documents” |
FontsLocation | “/System/Library/Fonts” (not writable) | “C:/Windows/Fonts” (not writable) |
ApplicationsLocation | “/Applications” (not writable) | “C:/Users/<USER>/AppData/Roaming/Microsoft/Windows/Start Menu/Programs” |
MusicLocation | “~/Music” | “C:/Users/<USER>/Music” |
MoviesLocation | “~/Movies” | “C:/Users/<USER>/Videos” |
PicturesLocation | “~/Pictures” | “C:/Users/<USER>/Pictures” |
TempLocation | randomly generated by the OS | “C:/Users/<USER>/AppData/Local/Temp” |
HomeLocation | “~” | “C:/Users/<USER>” |
DataLocation | “~/Library/Application Support/<APPNAME>”, “/Library/Application Support/<APPNAME>”. “<APPDIR>/…/Resources” | “C:/Users/<USER>/AppData/Local/<APPNAME>”, “C:/ProgramData/<APPNAME>”,“<APPDIR>”, “<APPDIR>/data”, “<APPDIR>/data/<APPNAME>” |
CacheLocation | “~/Library/Caches/<APPNAME>”, “/Library/Caches/<APPNAME>” | “C:/Users/<USER>/AppData/Local/<APPNAME>/cache” |
GenericDataLocation | “~/Library/Application Support”, “/Library/Application Support” | “C:/Users/<USER>/AppData/Local”, “C:/ProgramData”, “<APPDIR>”, “<APPDIR>/data” |
RuntimeLocation | “~/Library/Application Support” | “C:/Users/<USER>” |
ConfigLocation | “~/Library/Preferences” | “C:/Users/<USER>/AppData/Local/<APPNAME>”, “C:/ProgramData/<APPNAME>” |
GenericConfigLocation | “~/Library/Preferences” | “C:/Users/<USER>/AppData/Local”, “C:/ProgramData” |
DownloadLocation | “~/Downloads” | “C:/Users/<USER>/Documents” |
GenericCacheLocation | “~/Library/Caches”, “/Library/Caches” | “C:/Users/<USER>/AppData/Local/cache” |
AppDataLocation | “~/Library/Application Support/<APPNAME>”, “/Library/Application Support/<APPNAME>”. “<APPDIR>/…/Resources” | “C:/Users/<USER>/AppData/Roaming/<APPNAME>”, “C:/ProgramData/<APPNAME>”,“<APPDIR>”, “<APPDIR>/data”, “<APPDIR>/data/<APPNAME>” |
AppLocalDataLocation | “~/Library/Application Support/<APPNAME>”, “/Library/Application Support/<APPNAME>”. “<APPDIR>/…/Resources” | “C:/Users/<USER>/AppData/Local/<APPNAME>”, “C:/ProgramData/<APPNAME>”,“<APPDIR>”, “<APPDIR>/data”, “<APPDIR>/data/<APPNAME>” |
AppConfigLocation | “~/Library/Preferences/<APPNAME>” | “C:/Users/<USER>/AppData/Local/<APPNAME>”, “C:/ProgramData/<APPNAME>” |
3.Linux系统的目录路径
Path type | Linux |
---|
DesktopLocation | “~/Desktop” |
DocumentsLocation | “~/Documents” |
FontsLocation | “~/.fonts” |
ApplicationsLocation | “~/.local/share/applications”, “/usr/local/share/applications”, “/usr/share/applications” |
MusicLocation | “~/Music” |
MoviesLocation | “~/Videos” |
PicturesLocation | “~/Pictures” |
TempLocation | “/tmp” |
HomeLocation | “~” |
DataLocation | “~/.local/share/<APPNAME>”, “/usr/local/share/<APPNAME>”, “/usr/share/<APPNAME>” |
CacheLocation | “~/.cache/<APPNAME>” |
GenericDataLocation | “~/.local/share”, “/usr/local/share”, “/usr/share” |
RuntimeLocation | “/run/user/<USER>” |
ConfigLocation | “~/.config”, “/etc/xdg” |
GenericConfigLocation | “~/.config”, “/etc/xdg” |
DownloadLocation | “~/Downloads” |
GenericCacheLocation | “~/.cache” |
AppDataLocation | “~/.local/share/<APPNAME>”, “/usr/local/share/<APPNAME>”, “/usr/share/<APPNAME>” |
AppLocalDataLocation | “~/.local/share/<APPNAME>”, “/usr/local/share/<APPNAME>”, “/usr/share/<APPNAME>” |
AppConfigLocation | “~/.config/<APPNAME>”, “/etc/xdg/<APPNAME>” |
4.Android、IOS系统的目录路径
Path type | Android | iOS |
---|
DesktopLocation | “<APPROOT>/files” | “<APPROOT>/Documents/Desktop” |
DocumentsLocation | “<USER>/Documents”, “<USER>/<APPNAME>/Documents” | “<APPROOT>/Documents” |
FontsLocation | “/system/fonts” (not writable) | “<APPROOT>/Library/Fonts” |
ApplicationsLocation | not supported (directory not readable) | not supported |
MusicLocation | “<USER>/Music”, “<USER>/<APPNAME>/Music” | “<APPROOT>/Documents/Music” |
MoviesLocation | “<USER>/Movies”, “<USER>/<APPNAME>/Movies” | “<APPROOT>/Documents/Movies” |
PicturesLocation | “<USER>/Pictures”, “<USER>/<APPNAME>/Pictures” | “<APPROOT>/Documents/Pictures”, “assets-library://” |
TempLocation | “<APPROOT>/cache” | “<APPROOT>/tmp” |
HomeLocation | “<APPROOT>/files” | “<APPROOT>” (not writable) |
DataLocation | “<APPROOT>/files”, “<USER>/<APPNAME>/files” | “<APPROOT>/Library/Application Support” |
CacheLocation | “<APPROOT>/cache”, “<USER>/<APPNAME>/cache” | “<APPROOT>/Library/Caches” |
GenericDataLocation | “<USER>” | “<APPROOT>/Documents” |
RuntimeLocation | “<APPROOT>/cache” | not supported |
ConfigLocation | “<APPROOT>/files/settings” | “<APPROOT>/Library/Preferences” |
GenericConfigLocation | “<APPROOT>/files/settings” (there is no shared settings) | “<APPROOT>/Library/Preferences” |
DownloadLocation | “<USER>/Downloads”, “<USER>/<APPNAME>/Downloads” | “<APPROOT>/Documents/Downloads” |
GenericCacheLocation | “<APPROOT>/cache” (there is no shared cache) | “<APPROOT>/Library/Caches” |
AppDataLocation | “<APPROOT>/files”, “<USER>/<APPNAME>/files” | “<APPROOT>/Library/Application Support” |
AppConfigLocation | “<APPROOT>/files/settings” | “<APPROOT>/Library/Preferences/<APPNAME>” |
AppLocalDataLocation | “<APPROOT>/files”, “<USER>/<APPNAME>/files” | “<APPROOT>/Library/Application Support” |
5.每个枚举的功能介绍
Constant | Value | Description |
---|
QStandardPaths::DesktopLocation | 0 | 返回用户的桌面目录。这是一个通用值。在没有桌面概念的系统上,这与 QStandardPaths::HomeLocation 相同。 |
QStandardPaths::DocumentsLocation | 1 | 返回包含用户文档文件的目录。这是一个通用值。返回的路径永远不会为空。 |
QStandardPaths::FontsLocation | 2 | 返回包含用户字体的目录。这是一个通用值。请注意,安装字体可能需要额外的、特定于平台的操作。 |
QStandardPaths::ApplicationsLocation | 3 | 返回包含用户应用程序(可执行文件、应用程序包或它们的快捷方式)的目录。这是一个通用值。请注意,安装应用程序可能需要额外的、特定于平台的操作。此目录中的文件、文件夹或快捷方式是特定于平台的。 |
QStandardPaths::MusicLocation | 4 | 返回包含用户音乐或其他音频文件的目录。这是一个通用值。如果不存在特定于音乐文件的目录,则返回用于存储用户文档的合理回退。 |
QStandardPaths::MoviesLocation | 5 | 返回包含用户电影和视频的目录。这是一个通用值。如果不存在特定于电影文件的目录,则返回用于存储用户文档的合理回退。 |
QStandardPaths::PicturesLocation | 6 | 返回包含用户图片或照片的目录。这是一个通用值。如果不存在特定于图片文件的目录,则返回用于存储用户文档的合理回退。 |
QStandardPaths::TempLocation | 7 | 返回可以存储临时文件的目录。返回的值可能是特定于应用程序的,在此用户的其他应用程序之间共享,甚至是系统范围的。返回的路径永远不会为空。 |
QStandardPaths::HomeLocation | 8 | 返回用户的主目录(与 QDir::homePath() 相同)。在 Unix 系统上,这等于 HOME 环境变量。此值可能是通用的或特定于应用程序的,但返回的路径永远不会为空。 |
QStandardPaths::DataLocation | 9 | 返回与 AppLocalDataLocation 相同的值。此枚举值已弃用。最好使用 AppDataLocation,因为在 Windows 上,建议使用漫游路径。 |
QStandardPaths::CacheLocation | 10 | 返回应写入用户特定的非必要(缓存)数据的目录位置。这是一个特定于应用程序的目录。返回的路径永远不会为空。 |
QStandardPaths::GenericCacheLocation | 15 | 返回应写入跨应用程序共享的用户特定非必要(缓存)数据的目录位置。这是一个通用值。请注意,如果系统没有共享缓存的概念,则返回的路径可能为空。 |
QStandardPaths::GenericDataLocation | 11 | 返回可以存储跨应用程序共享的持久数据的目录位置。这是一个通用值。返回的路径永远不会为空。 |
QStandardPaths::RuntimeLocation | 12 | 返回应该写入运行时通信文件的目录位置,例如 Unix 本地套接字。这是一个通用值。在某些系统上,返回的路径可能为空。 |
QStandardPaths::ConfigLocation | 13 | 返回应写入用户特定配置文件的目录位置。这可能是通用值或特定于应用程序的值,并且返回的路径永远不会为空。 |
QStandardPaths::DownloadLocation | 14 | 返回用户下载文件的目录。这是一个通用值。如果不存在特定于下载的目录,则返回用于存储用户文档的合理回退。 |
QStandardPaths::GenericConfigLocation | 16 | 返回应写入多个应用程序之间共享的用户特定配置文件的目录位置。这是一个通用值,返回的路径永远不会为空。 |
QStandardPaths::AppDataLocation | 17 | 返回可以存储持久应用程序数据的目录位置。这是一个特定于应用程序的目录。要获取存储要与其他应用程序共享的数据的路径,请使用 QStandardPaths::GenericDataLocation。返回的路径永远不会为空。在 Windows 操作系统上,这将返回漫游路径。这个枚举值是在 Qt 5.4 中添加的。 |
QStandardPaths::AppLocalDataLocation | 数据位置 | 返回 Windows 操作系统上的本地设置路径。在所有其他平台上,它返回与 AppDataLocation 相同的值。这个枚举值是在 Qt 5.4 中添加的。 |
QStandardPaths::AppConfigLocation | 18 | 返回应写入用户特定配置文件的目录位置。这是一个特定于应用程序的目录,返回的路径永远不会为空。这个枚举值是在 Qt 5.5 中添加的。 |
6.转载网址
感谢原作者分享。原文网址:https://cloud.tencent.com/developer/article/1932769