QDir类提供了访问目录结构和目录内容的功能。它一般被用来操作路径名,访问路径和文件的信息。还可以用来访问Qt的资源系统。Qt使用"/"作为统一的目录分隔符,类似于在URL中所使用的那样。
一个QDir对象可以通过相对路径或绝对路径指向一个文件。其中,绝对路径以目录分隔符开始(在Windows平台就是磁盘标识符);相对路径开始于一个目录名或一个文件名,相对于当前目录。如下面代码所示,使用绝对路径创建了QDir对象:
QDir("/home/user/Documents")
QDir("C:/Documents and Settings")
在Windows平台上,上面第二个例子会被转换为C:\Documents and Settings。
使用相对路径的例子如下:
QDir("images/landscape.png")
同样,QDir也为我们提供了isRelative() 和 isAbsolute() 两个方法,可以在程序中使用这两个方法来判断一个目录是绝对路径还是相对路径。通过makeAbsolute() 函数,也可以把一个相对路径装换为绝对路径。
一个目录的路径可以通过path() 函数获得,其返回一个初始化该对象时所使用的字符串,也可以通过setPath() 来为一个QDir对象重新赋值。absolutePath() 可以获得当前QDir对象的绝对路径表示。一个目录的最后一部分称为该目录的名字,可以使用dirName() 函数获取该名字。如下代码所示: