Qt基础笔记(一)QDir类及其用法总结

tech2022-11-30  111

 

简介

QDir类提供了访问系统目录结构及其内容的与平台无关的方式。

头文件:#include <Qdir>

QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也可以用来获取Qt资源系统的文件信息。 QDir类使用相对或绝对文件路径来指向一个文件/目录。 绝对路径是从目录分隔符“/”或者带有一个驱动器标识(除了在Unix下)。 如果总是使用“/”作为目录分隔符,Qt将会把你的路径转化为符合底层的操作系统的。 相对文件名是由一个目录名称或者文件名开始并且指定一个相对于当前路径的路径。 绝对路径示例:

其中第二个路径是Windows系统下,它指向的路径是:C:\Documents and Secctings。 相对路径示例:

注意当前路径是指应用程序的工作目录,而QDir自己的路径可以通过setPath()设置并且通过path()获得。 可以使用QDir类的方法isRelative()或者是isAbsolute()来判断QDir指向的路径是相对路径还是绝对路径,如果是相对路径,可使用方法makeAbsolute()将相对路径转换为绝对路径。

1. 目录及导航操作

QDir类对象所关联的目录路径可以使用path()函数获得,可以使用setPath()方法来设置新的路径;

可以使用方法absolutePath()来获得目录的绝对路径。

目录名可以使用dirName()方法来获得,该方法返回绝对路径中的最后一个项目,即目录名,但如果QDir关联的是当前工作目录,则返回"."。

可以使用mkdir()方法来创建一个目录; 使用rename()方法来对关联目录进行重命名; 使用rmdir()方法来移除一个目录; 使用exists()方法检测目录是否存在; 使用refresh()方法来刷新目录内容。 其余方法详见QDir类的API文档。

2. 文件及目录内容

文件系统中目录中一般包括文件、子目录及符号链接;

可以使用count()方法来获得QDir类对象关联的目录中的条目数目; 可以使用entryList()获取所有条目的名称; 可以使用entryInfoList()来获取条目的QFileInfo内容。 可以使用filePath()及absoluteFilePath()来获得QDir中指定文件的路径名,但这两个函数均不检查指定的文件是否存在; 可以使用remove()方法来删除指定文件; 可以使用过滤器来获取指定类型的文件,当文件符合过滤器指定条件时被保留; 过滤器中的内容实际上是一个stringList。

3. 当前目录及其他特定路径

可以使用一些静态函数来访问指定的路径,这些函数返回一个QDir对象: 可以使用静态函数setCurrent()来设置应用程序的工作路径。

最新回复(0)