写点什么

Qt | 关于目录操作的使用 QDir

作者:YOLO.
  • 2022 年 9 月 07 日
    河北
  • 本文字数:915 字

    阅读完需:约 3 分钟

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() 函数来设置过滤器。

例:

QStringList filters;filters << "*.cpp" << "*.h" << "*.txt";dir.setNameFilters(filters);
复制代码

常用目录的获取函数:

  • current(); //返回 QDir,应用程序的工作目录

  • currentPath(); //返回 QString,应用程序的工作目录

  • home(); //返回 QDir,用户的 home 目录

  • homePath(); //返回 QString,用户的 home 目录

  • root(); //返回 QDir,root 根目录

  • rootPath(); //返回 QString,root 根目录

  • temp(); //返回 QDir,系统存放临时文件的目录

  • tempPath(); //返回 QString,系统存放临时文件的目录

使用 setCurrent() 函数可以设置应用程序的工作目录;使用 QCoreApplication::applicationDirPath() 函数可以查找包含应用程序可执行文件的目录

发布于: 刚刚阅读数: 4
用户头像

YOLO.

关注

还未添加个人签名 2022.05.06 加入

还未添加个人简介

评论

发布
暂无评论
Qt | 关于目录操作的使用 QDir_qt_YOLO._InfoQ写作社区