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():删除目录