Qt | 关于目录操作的使用 QDir
前言:
QDir 类是 Qt 中用来访问目录结构及其内容的类,它既可以操作路径名、访问路径和文件相关信息、操作底层的文件系统,还可以访问 Qt 的资源系统。Qt 中使用“/”作为通用的目录分隔符合 URLs 的目录分隔符。
QDir 既可以使用相对路径也可以使用绝对路径来指向一个文件。
QDir 的相关操作函数:
isRelative(); // 判断 QDir 是否使用相对路径
isAbsolute(); // 判断 QDir 是否使用绝对路径
makeAbsolute(); // 将一个相对路径转换为绝对路径
path(); // 获取目录的路径
setPath(); // 给 QDir 设置一个新路径
absolutePath(); // 获取目录的绝对路径
dirName(); // 获取目录名,通常返回绝对路径中的最后一个元素;如果 QDir 代表当前目录,会返回“.”
cd(); // 进入到指定目录
cdUp(); // 进入到父目录 cdUp() 等效于 cd("..")
mkdir(); // 创建一个目录
rename(); // 重命名
rmdir(); // 删除目录(删除文件用 remove())
exists(); // 测试指定目录是否存在
isReadable(); // 测试目录的属性,是否可读
isRoot(); // 测试目录的属性,是否是根目录
refresh(); // 重新读取目录的数据
count(); // 返回目录中的所有条目数
entryList(); // 获取目录中条目的名称列表
entryInfoList(); // 获取一个 QFileInfo 对象的列表
名称过滤器:
通过名称过滤器(name filters)使用通配符(wildcards)指定一个模式进行文件名的匹配,一个属性过滤器可以选取条目的属性并且可以区分文件和目录,还可以使用 setSorting()函数设定排序顺序。
名称过滤器就是一个字符串列表,可以使用 setNameFileters() 函数来设置过滤器。
例:
常用目录的获取函数:
current(); //返回 QDir,应用程序的工作目录
currentPath(); //返回 QString,应用程序的工作目录
home(); //返回 QDir,用户的 home 目录
homePath(); //返回 QString,用户的 home 目录
root(); //返回 QDir,root 根目录
rootPath(); //返回 QString,root 根目录
temp(); //返回 QDir,系统存放临时文件的目录
tempPath(); //返回 QString,系统存放临时文件的目录
使用 setCurrent() 函数可以设置应用程序的工作目录;使用 QCoreApplication::applicationDirPath() 函数可以查找包含应用程序可执行文件的目录。
版权声明: 本文为 InfoQ 作者【YOLO.】的原创文章。
原文链接:【http://xie.infoq.cn/article/586dc01e1b5e6844d8ced8364】。未经作者许可,禁止转载。
评论