Qt-获取系统路径-windows-mac-android-linux-ios

发布于:2022-12-17 ⋅ 阅读:(612) ⋅ 点赞:(0)

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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到