Qt-获取系统路径-系统目录-常用目录-windows-mac-android-linux-ios

本文详细介绍了Qt库中的QStandardPaths类在不同操作系统(MacOS、Windows、Linux、Android和iOS)中获取标准路径的方法,包括桌面、文档、字体、音乐等目录,并提供了每个枚举常量的功能说明,帮助开发者更好地管理和访问用户数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 typemacOSWindows
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”
TempLocationrandomly 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 typeLinux
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 typeAndroidiOS
DesktopLocation“<APPROOT>/files”“<APPROOT>/Documents/Desktop”
DocumentsLocation“<USER>/Documents”, “<USER>/<APPNAME>/Documents”“<APPROOT>/Documents”
FontsLocation“/system/fonts” (not writable)“<APPROOT>/Library/Fonts”
ApplicationsLocationnot 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.每个枚举的功能介绍

ConstantValueDescription
QStandardPaths::DesktopLocation0返回用户的桌面目录。这是一个通用值。在没有桌面概念的系统上,这与 QStandardPaths::HomeLocation 相同。
QStandardPaths::DocumentsLocation1返回包含用户文档文件的目录。这是一个通用值。返回的路径永远不会为空。
QStandardPaths::FontsLocation2返回包含用户字体的目录。这是一个通用值。请注意,安装字体可能需要额外的、特定于平台的操作。
QStandardPaths::ApplicationsLocation3返回包含用户应用程序(可执行文件、应用程序包或它们的快捷方式)的目录。这是一个通用值。请注意,安装应用程序可能需要额外的、特定于平台的操作。此目录中的文件、文件夹或快捷方式是特定于平台的。
QStandardPaths::MusicLocation4返回包含用户音乐或其他音频文件的目录。这是一个通用值。如果不存在特定于音乐文件的目录,则返回用于存储用户文档的合理回退。
QStandardPaths::MoviesLocation5返回包含用户电影和视频的目录。这是一个通用值。如果不存在特定于电影文件的目录,则返回用于存储用户文档的合理回退。
QStandardPaths::PicturesLocation6返回包含用户图片或照片的目录。这是一个通用值。如果不存在特定于图片文件的目录,则返回用于存储用户文档的合理回退。
QStandardPaths::TempLocation7返回可以存储临时文件的目录。返回的值可能是特定于应用程序的,在此用户的其他应用程序之间共享,甚至是系统范围的。返回的路径永远不会为空。
QStandardPaths::HomeLocation8返回用户的主目录(与 QDir::homePath() 相同)。在 Unix 系统上,这等于 HOME 环境变量。此值可能是通用的或特定于应用程序的,但返回的路径永远不会为空。
QStandardPaths::DataLocation9返回与 AppLocalDataLocation 相同的值。此枚举值已弃用。最好使用 AppDataLocation,因为在 Windows 上,建议使用漫游路径。
QStandardPaths::CacheLocation10返回应写入用户特定的非必要(缓存)数据的目录位置。这是一个特定于应用程序的目录。返回的路径永远不会为空。
QStandardPaths::GenericCacheLocation15返回应写入跨应用程序共享的用户特定非必要(缓存)数据的目录位置。这是一个通用值。请注意,如果系统没有共享缓存的概念,则返回的路径可能为空。
QStandardPaths::GenericDataLocation11返回可以存储跨应用程序共享的持久数据的目录位置。这是一个通用值。返回的路径永远不会为空。
QStandardPaths::RuntimeLocation12返回应该写入运行时通信文件的目录位置,例如 Unix 本地套接字。这是一个通用值。在某些系统上,返回的路径可能为空。
QStandardPaths::ConfigLocation13返回应写入用户特定配置文件的目录位置。这可能是通用值或特定于应用程序的值,并且返回的路径永远不会为空。
QStandardPaths::DownloadLocation14返回用户下载文件的目录。这是一个通用值。如果不存在特定于下载的目录,则返回用于存储用户文档的合理回退。
QStandardPaths::GenericConfigLocation16返回应写入多个应用程序之间共享的用户特定配置文件的目录位置。这是一个通用值,返回的路径永远不会为空。
QStandardPaths::AppDataLocation17返回可以存储持久应用程序数据的目录位置。这是一个特定于应用程序的目录。要获取存储要与其他应用程序共享的数据的路径,请使用 QStandardPaths::GenericDataLocation。返回的路径永远不会为空。在 Windows 操作系统上,这将返回漫游路径。这个枚举值是在 Qt 5.4 中添加的。
QStandardPaths::AppLocalDataLocation数据位置返回 Windows 操作系统上的本地设置路径。在所有其他平台上,它返回与 AppDataLocation 相同的值。这个枚举值是在 Qt 5.4 中添加的。
QStandardPaths::AppConfigLocation18返回应写入用户特定配置文件的目录位置。这是一个特定于应用程序的目录,返回的路径永远不会为空。这个枚举值是在 Qt 5.5 中添加的。

6.转载网址

感谢原作者分享。原文网址:https://cloud.tencent.com/developer/article/1932769

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值