1. QDir类具有存取目录结构和内容的能力,使用它可以操作目录、存取目录或文件信息、操作底层文件系统,还可以存取Qt的资源文件
2. Qt使用"/"作为通用的目录分隔符和URL路径分隔符。如果在程序中使用"/"作为目录分隔符,Qt会将其自动转换为符合底层操作系统的分隔符(如Linux使用"/",Windows使用"\")
3. QDir类相关函数
- isReadable(), isRoot(), isRelative(), isAbsolute():目录的相关属性,分别是可读,根目录,相对路径,绝对路径
- makeAbsolute():将相对路径转换为绝对路径
- path():返回目录的路径
- absolutePath():返回目录的绝对路径
- setPath():设置新路径
- dirName():返回目录名,通常返回绝对路径中的最后一个元素,如果QDir指向当前目录,则返回"."
- cd(), cdUp():改变目录路径
- mkdir():创建目录
- rename():重命名目录名
- exists():判断目录是否存在
- count():统计目录下的所有条目,包括文件、目录和符号连接
- entryList():返回目录下所有条目组成的字符串链表
- entryInfoList(const QStringList& nameFilters, Filters filters = NoFilter, SortFlags = NoSort):按照某种过滤方式获得目录下的文件列表
① 参数1指定了文件名的过滤方式,如"*","tar.gz"
② 参数2指定了文件属性的过滤方式,如目录、文件、读写属性等
过滤方式 | 作用描述 |
QDir::Dirs | 按照过滤方式列出所有目录 |
QDir::AllDirs | 列出所有目录,不考虑过滤方式 |
QDir::Files | 只列出文件 |
QDir::Drives | 列出磁盘驱动器(UNIX系统无效) |
QDir::NoSymLinks | 不列出符号连接(对不支持符号连接的操作系统无效) |
QDir::NoDotAndDotDot | 不列出"."和".." |
QDir::AllEntries | 列出目录、文件和磁盘驱动器,相当于Dirs|Files|Frives |
QDir::Readable | 列出所有具有"读"属性的文件和目录 |
QDir::Writable | 列出所有具有"写"属性的文件和目录 |
QDir::Executable | 列出所有具有"执行"属性的文件和目录 |
QDir::Modified | 只列出被修改过的文件(UNIX系统无效) |
QDir::Hidden | 列出隐藏文件(在UNIX系统下,隐藏文件的文件名以"."开始) |
QDir::System | 列出系统文件(在UNIX系统下指FIFO、套接字和设备文件) |
QDir::CaseSensitive | 文件系统如果区分文件名大小写,则按大小写方式进行过滤 |
③ 参数3指定了列表的排序情况
排序方式 | 作用描述 |
QDir::Name | 按名称排序 |
QDir::Time | 按时间排序(修改时间) |
QDir::Size | 按文件大小排序 |
QDir::Type | 按文件类型排序 |
QDir::Unsorted | 不排序 |
QDir::DirsFirst | 目录优先排序 |
QDir::DirsLast | 目录最后排序 |
QDir::Reversed | 反序 |
QDir::IgnoreCase | 忽略大小写方式排序 |
QDir::LocaleAware | 使用当前本地排序方式进行排序 |
- remove():删除文件
- rmdir():删除目录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧