QDir Class Reference
[QtCore module]
归QDir类提供了访问目录结构和它们的内容。More…
Types
enum Filter { Dirs, Files, Drives, NoSymLinks, ..., NoDotDot }
class **[Filters]($docs-index.htm)**
enum SortFlag { Name, Time, Size, Unsorted, ..., NoSort }
class **[SortFlags]($docs-index.htm)**
Methods
__init__ (self, QDir)
__init__ (self, QString path = QString())
__init__ (self, QString path, QString nameFilter, SortFlags sort = QDir.Name|QDir.IgnoreCase, Filters filters = QDir.AllEntries)
QString absoluteFilePath (self, QString fileName)
QString absolutePath (self)
QString canonicalPath (self)
bool cd (self, QString dirName)
bool cdUp (self)
int count (self)
QString dirName (self)
list-of-QFileInfo entryInfoList (self, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
list-of-QFileInfo entryInfoList (self, QStringList nameFilters, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
QStringList entryList (self, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
QStringList entryList (self, QStringList nameFilters, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
bool exists (self)
bool exists (self, QString name)
QString filePath (self, QString fileName)
Filters filter (self)
bool isAbsolute (self)
bool isReadable (self)
bool isRelative (self)
bool isRoot (self)
bool makeAbsolute (self)
bool mkdir (self, QString dirName)
bool mkpath (self, QString dirPath)
QStringList nameFilters (self)
QString path (self)
refresh (self)
QString relativeFilePath (self, QString fileName)
bool remove (self, QString fileName)
bool rename (self, QString oldName, QString newName)
bool rmdir (self, QString dirName)
bool rmpath (self, QString dirPath)
setFilter (self, Filters filter)
setNameFilters (self, QStringList nameFilters)
setPath (self, QString path)
setSorting (self, SortFlags sort)
SortFlags sorting (self)
Static Methods
addResourceSearchPath (QString path)
addSearchPath (QString prefix, QString path)
QString cleanPath (QString path)
QString convertSeparators (QString pathName)
QDir current ()
QString currentPath ()
list-of-QFileInfo drives ()
QString fromNativeSeparators (QString pathName)
QDir home ()
QString homePath ()
bool isAbsolutePath (QString path)
bool isRelativePath (QString path)
bool match (QStringList filters, QString fileName)
bool match (QString filter, QString fileName)
QStringList nameFiltersFromString (QString nameFilter)
QDir root ()
QString rootPath ()
QStringList searchPaths (QString prefix)
QChar separator ()
bool setCurrent (QString path)
setSearchPaths (QString prefix, QStringList searchPaths)
QDir temp ()
QString tempPath ()
QString toNativeSeparators (QString pathName)
Special Methods
int __contains__ (self, QString)
bool __eq__ (self, QDir dir)
QString __getitem__ (self, int)
QStringList __getitem__ (self, slice)
__len__ (self)
bool __ne__ (self, QDir dir)
Detailed Description
归QDir类提供了访问目录结构和它们的内容。
一个的QDir用来操作路径名称,访问有关的路径和文件的信息,并操作底层文件系统。它也可以被用来访问Qt的resource system。
Qt使用“/”作为以同样的方式, “ / ”作为URL中的路径分隔符的通用目录分隔符。如果你总是使用“ / ”作为目录分隔符, Qt将会把你的路径,以符合底层操作系统。
一个的QDir可以指向使用相对或绝对路径的文件。绝对路径开头的目录分隔符(前面可以在Windows下的驱动器规格) 。相对文件名开头的目录名或文件名和路径指定一个相对于当前目录。
绝对路径的例子:
QDir("/home/user/Documents")
QDir("C:/Documents and Settings")
在Windows上,上述第二个例子将被转换为C:\Documents and Settings
用于访问文件时。
相对路径的例子:
QDir("../img/landscape.png")
您可以使用isRelative()或isAbsolute( )函数,如果一个的QDir使用相对或绝对文件路径来检查。通话makeAbsolute( )到一个相对的QDir转化为绝对的。
Navigation and Directory Operations
一个目录的路径可以用得到path( )函数,并设置了一个新的路径setPath()函数。的绝对路径的目录是通过调用发现absolutePath( ) 。
目录的名称使用中发现的dirName()函数。这通常返回指定的目录的位置的绝对路径中的最后一个元素。然而,它也可以返回“ 。 ”如果的QDir表示当前目录。
QDir("Documents/Letters/Applications").dirName() // "Applications"
QDir().dirName() // "."
对目录的路径,也可以用改变cd()和cdUp这两者( )函数,操作就像熟悉shell命令。何时cd( )被调用现有的目录的名称,归QDir对象改变目录,它表示该目录代替。该cdUp( )函数改变的QDir对象的目录,以便它指的是它的父目录,即CD( “..” )等价于cdUp( ) 。
目录可以使用以下命令创建mkdir( ) ,重命名rename( )中,用去除rmdir( ) 。
您可以通过使用测试具有给定名称的目录存在exists( )和目录的属性可以与被测试isReadable( )isAbsolute( )isRelative()和isRoot( ) 。
该refresh( )函数再从磁盘读取该目录的数据。
Files and Directory Contents
目录包含多个条目,代表文件,目录和符号链接。条目中的目录数被返回count( ) 。可以得到在一个目录中的所有条目的名称的字符串列表entryList( ) 。如果您需要了解每一个项目的信息,请使用entryInfoList()获得的一个列表QFileInfo对象。
路径文件和一个目录下的目录可以使用构造filePath()和absoluteFilePath( ) 。该filePath( )函数返回一个路径指定的文件或目录相对的QDir对象的路径;absoluteFilePath( )返回一个绝对路径指定的文件或目录。无论这些函数会检查文件或目录是否存在,他们只是构建路径。
QDir directory("Documents/Letters");
[QString]($docs-qstring.html) path = directory.filePath("contents.txt");
[QString]($docs-qstring.html) absolutePath = directory.absoluteFilePath("contents.txt");
文件可以通过使用可移除的remove()函数。目录不能以同样的方式作为文件被删除;使用rmdir()来代替删除它们。
它能够减少由返回的条目的数量entryList()和entryInfoList( )通过应用过滤器到的QDir对象。你可以申请一个名字过滤器来指定使用通配符模式的文件名需要匹配,属性过滤器的选择项的属性和文件和目录可以区分,和排序顺序。
名称过滤器的字符串传递给该列表setNameFilters( ) 。属性过滤器由一个过滤器按位或组合,而这些都是调用时指定setFilter( ) 。使用指定的排序顺序setSorting( )用按位或组合SortFlags。
你可以测试一下,看有没有使用的文件名匹配的过滤器match()函数。
筛选和排序顺序标志也可能被调用时指定entryList()和entryInfoList()以复盖先前定义的行为。
The Current Directory and Other Special Paths
访问一些常见的目录设置有若干静态函数返回的QDir对象。还有这些返回字符串对应的功能:
QDir | QString | Return Value |
---|---|---|
current() | currentPath() | The application’s working directory |
home() | homePath() | The user’s home directory |
root() | rootPath() | The root directory |
temp() | tempPath() | The system’s temporary directory |
该setCurrent( )静态函数也可以用于设置应用程序的工作目录。
如果你想找到包含应用程序的可执行文件的目录,请参见QCoreApplication.applicationDirPath( ) 。
该drives()静态函数提供为每个包含一个归档系统设备根目录的列表。在Unix系统中,这会返回一个包含单个根目录“ / ”的列表;在Windows上的列表通常包含C:/
,以及其他可能的驱动器号,如D:/
,这取决于用户的系统的配置。
Path Manipulation and Strings
路径包含“ 。 ”引用当前目录在路径点的元素, “..”元素引用的父目录和符号链接可以使用减少到规范形式的canonicalPath()函数。
路径也可以通过使用简化的cleanPath()删除多馀的“ / ”和“..”元素。
它有时需要能够显示在本机表示一个路径为用户的平台。静toNativeSeparators( )函数返回,其中每个目录分隔符替换为适当的分隔符底层操作系统的指定路径的一个副本。
Examples
检查目录是否存在:
QDir dir("example");
if (!dir.exists())
qWarning("Cannot find the example directory");
(我们也可以使用静态的便利功能QFile.exists( ) 。 )
遍历目录和读取文件:
QDir dir = QDir.root(); // "/"
if (!dir.cd("tmp")) { // "/tmp"
qWarning("Cannot find the \"/tmp\" directory");
} else {
[QFile](qfile.html) file(dir.filePath("ex1.txt")); // "/tmp/ex1.txt"
if (!file.open([QIODevice](qiodevice.html).ReadWrite))
qWarning("Cannot create the file %s", file.name());
}
一个程序,列出当前目录下的所有文件(不包括符号链接) ,按大小排序,最小的第一:
#include <QDir>
#include <iostream>
int main(int argc, char *argv[])
{
[QCoreApplication](qcoreapplication.html) app(argc, argv);
QDir dir;
dir.setFilter(QDir.Files | QDir.Hidden | QDir.NoSymLinks);
dir.setSorting(QDir.Size | QDir.Reversed);
[QFileInfoList]($docs-qfileinfo.html#QFileInfoList-typedef) list = dir.entryInfoList();
std.cout << " Bytes Filename" << std.endl;
for (int i = 0; i < list.size(); ++i) {
[QFileInfo]($docs-qfileinfo.html) fileInfo = list.at(i);
std.cout << qPrintable([QString]($docs-qstring.html)("%1 %2").arg(fileInfo.size(), 10)
.arg(fileInfo.fileName()));
std.cout << std.endl;
}
return 0;
}
Type Documentation
QDir.Filter
这个枚举描述提供给过滤选项QDir;如为entryList()和entryInfoList( ) 。指定通过使用按位OR运算符下面的列表值相结合的过滤器值:
Constant | Value | Description |
---|---|---|
QDir.Dirs |
0x001 |
相匹配的过滤器列表目录。 |
QDir.AllDirs |
0x400 |
列出所有的目录,即不过滤器不适用于目录名。 |
QDir.Files |
0x002 |
列表文件。 |
QDir.Drives |
0x004 |
列表磁盘驱动器(在Unix下被忽略) 。 |
QDir.NoSymLinks |
0x008 |
不要列出符号链接(由不支持符号连接的操作系统忽略不计) 。 |
QDir.NoDotAndDotDot |
0x1000 |
不要列出特殊项目“ 。 ”和“..”。 |
QDir.NoDot |
0x2000 |
不要列出的特殊条目“ 。” |
QDir.NoDotDot |
0x4000 |
不要列出特殊的入口“..” 。 |
QDir.AllEntries |
Dirs | Files | Drives |
列出目录,文件,驱动器和符号链接(这并不列出破碎的符号链接,除非您指定系统) 。 |
QDir.Readable |
0x010 |
列表文件的应用程序有读权限。可读值需要与显示目录或文件相结合。 |
QDir.Writable |
0x020 |
列出文件该申请写访问。可写值需要与显示目录或文件相结合。 |
QDir.Executable |
0x040 |
列出文件该应用程序具有执行权限。可执行值需要与显示目录或文件相结合。 |
QDir.Modified |
0x080 |
仅列出已修改(忽略在Unix )文件。 |
QDir.Hidden |
0x100 |
列出隐藏文件(在Unix上,文件开头的“。”) 。 |
QDir.System |
0x200 |
列表的系统文件(在Unix上, FIFO的,插座和设备文件都包括在内;在Windows上,.lnk 文件都包括在内) |
QDir.CaseSensitive |
0x800 |
该过滤器应区分大小写。 |
使用过滤器枚举值来过滤文件和目录列表的功能将包括符号链接文件和目录,除非你设置NoSymLinks值。
构造一个默认的QDir不会过滤出基于其权限的文件,所以entryList()和entryInfoList( )将返回一个可读的所有文件,可写,可执行,或三者的任意组合。这使得默认容易编写,并在同一时间是有用的。
例如,设置Readable
,Writable
和Files
标志允许该应用程序有读权限被列出的所有文件,写访问或两者兼而有之。如果Dirs
和Drives
标志也包含在这个组合则所有的驱动器,目录,该应用程序可以读,写或执行所有文件,符号链接到这些文件/目录可以上市。
检索PERMISSONS的目录,使用entryInfoList( )函数来获取相关的QFileInfo对象,然后使用QFileInfo.permissons ( )来获取权限和所有权的每个文件。
该过滤器类型是一个typedef为QFlags的\u003cfilter\u003e 。它存储滤波值的或组合。
QDir.SortFlag
这个枚举介绍可用于排序选项QDir如为entryList()和entryInfoList( ) 。指定由从以下列表中的OR-ing合值的排序值:
Constant | Value | Description |
---|---|---|
QDir.Name |
0x00 |
按名称排序。 |
QDir.Time |
0x01 |
按时间排序(修改时间) 。 |
QDir.Size |
0x02 |
排序按文件大小。 |
QDir.Type |
0x80 |
排序文件类型(扩展名) 。 |
QDir.Unsorted |
0x03 |
不排序。 |
QDir.NoSort |
-1 |
没有排序默认。 |
QDir.DirsFirst |
0x04 |
把该目录,然后是文件。 |
QDir.DirsLast |
0x20 |
把文件先,然后是目录。 |
QDir.Reversed |
0x08 |
反向排序。 |
QDir.IgnoreCase |
0x10 |
排序不区分大小写。 |
QDir.LocaleAware |
0x40 |
适当地使用当前区域设置项进行排序。 |
您只能指定前四个中的一个。
如果同时指定DirsFirst和反转,目录还是把第一,但以相反的顺序,该文件会以相反的顺序被列出的目录后,再次。
该SortFlags类型是一个typedef为QFlags\u003cSortFlag\u003e 。它存储SortFlag值的或组合。
Method Documentation
QDir.__init__ (self, QDir)
构造一个QDir对象,它是的一个副本QDir反对的目录dir。
See also operator=( ) 。
QDir.__init__ (self, QString path = QString())
构造一个QDir指向给定目录path。如果path是空的程序的工作目录( “。”) ,被使用。
See also currentPath( ) 。
QDir.__init__ (self, QString path, QString nameFilter, SortFlags sort = QDir.Name|QDir.IgnoreCase, Filters filters = QDir.AllEntries)
构造一个QDir与路径path,通过名称使用的过滤条目nameFilter并且通过使用属性filters。它还使用排序的名字sort。
默认nameFilter是一个空字符串,不包括什么,默认filters is AllEntries,这也意味着排除无关。默认sort is Name|IgnoreCase,即按名称排序不区分大小写。
If path是一个空字符串,QDir使用“ 。 ” (当前目录) 。如果nameFilter是一个空字符串,QDir使用名称过滤器“ * ” (所有文件) 。
需要注意的是path不需要存在。
See also exists( )setPath( )setNameFilter( )setFilter()和setSorting( ) 。
QString QDir.absoluteFilePath (self, QString fileName)
返回目录中的文件的绝对路径名。是否not检查文件是否确实存在于目录,但看exists( ) 。冗馀的多个隔板或“。 ”中和“..”的目录fileName不会被删除(见cleanPath())。
See also relativeFilePath( )filePath()和canonicalPath( ) 。
QString QDir.absolutePath (self)
返回绝对路径(以“ / ”或驱动器规格开始的路径) ,其中可能包含符号链接,但不会包含多馀的“ 。 ” , “..”或多个分隔符。
See also setPath( )canonicalPath( )exists( )cleanPath( )dirName()和absoluteFilePath( ) 。
QDir.addResourceSearchPath (QString path)
QDir.addSearchPath (QString prefix, QString path)
添加path为搜索路径prefix。
此功能被引入Qt的4.3 。
See also setSearchPaths( ) 。
QString QDir.canonicalPath (self)
返回规范的路径,即路径没有符号链接或多馀的“ 。 ”或“..”元素。
对不具有符号链接此功能的系统将始终返回相同的字符串absolutePath( )返回。如果规范的路径不存在(通常是由于悬空符号链接) canonicalPath ( )返回一个空字符串。
例如:
[QString]($docs-qstring.html) bin = "/local/bin"; // where /local/bin is a symlink to /usr/bin
[QDir]($docs-qdir.html) binDir(bin);
[QString]($docs-qstring.html) canonicalBin = binDir.canonicalPath();
// canonicalBin now equals "/usr/bin"
[QString]($docs-qstring.html) ls = "/local/bin/ls"; // where ls is the executable "ls"
[QDir]($docs-qdir.html) lsDir(ls);
[QString]($docs-qstring.html) canonicalLs = lsDir.canonicalPath();
// canonicalLS now equals "/usr/bin/ls".
See also path( )absolutePath( )exists( )cleanPath( )dirName()和absoluteFilePath( ) 。
bool QDir.cd (self, QString dirName)
更改QDir的目录dirName。
返回True如果新的目录存在并且可读,否则返回False 。请注意,如果新的目录不存在,不进行逻辑CD ()操作。
调用CD( “..”)等同于调用cdUp( ) 。
See also cdUp( )isReadable( )exists()和path( ) 。
bool QDir.cdUp (self)
通过移动一个目录从该目录的变化QDir目前的目录。
返回True如果新的目录存在并且可读,否则返回False 。请注意,如果新的目录不存在,不进行逻辑CDUP ()操作。
See also cd( )isReadable( )exists()和path( ) 。
QString QDir.cleanPath (QString path)
移除所有多个目录分隔符“ / ” ,并解决在路径中找到任何“ ,” s或“..” S,path。
符号链接将被保留。这个函数不返回规范路径,而是将输入的简单版本。例如, “ /本地”变成了“本地” , “本地/ 。 。 / bin”就会变成“垃圾桶”和“ /本地/ usr / 。 。 / bin”就会变成“ / local / bin目录” 。
See also absolutePath()和canonicalPath( ) 。
QString QDir.convertSeparators (QString pathName)
int QDir.count (self)
返回目录和文件的目录总数。
相当于entryList( ) , COUNT( ) 。
See also operator[]()和entryList( ) 。
QDir QDir.current ()
[
返回应用程序的当前目录。
]($docs-qdir.html)
该目录是使用当前目录的绝对路径,确保构建其path()将是相同的其absolutePath( ) 。
See also currentPath( )setCurrent( )home( )root()和temp( ) 。
QString QDir.currentPath ()
返回应用程序的当前目录的绝对路径。
See also current( )setCurrent( )homePath( )rootPath()和tempPath( ) 。
QString QDir.dirName (self)
返回目录的名称,这是not相同的路径,例如名称为“邮件”的目录,可能有路径“的/ var / spool / mail中” 。如果目录没有名称(例如,它是根目录)一个空字符串返回。
没有检查,以确保与此名称的目录确实存在,但看exists( ) 。
See also path( )filePath( )absolutePath()和absoluteFilePath( ) 。
list-of-QFileInfo QDir.drives ()
返回此系统的根目录的列表。
在Windows中,此方法返回列表QFileInfo包含对象的“C :/ ” , “D :/ ”等在其他操作系统上,它返回一个包含只有一个根目录(即“/”)的列表。
list-of-QFileInfo QDir.entryInfoList (self, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
返回列表QFileInfo在目录中的所有文件和目录对象,根据名称和属性序滤事先用setNameFilters()和setFilter( ) ,并排序按设定的标志setSorting( ) 。
该名过滤器,文件属性过滤和排序规范可以使用被复盖的nameFilters,filters和sort参数。
返回空列表,如果该目录是不可读的,不存在,或者如果没有的规格相匹配。
See also entryList( )setNameFilters( )setSorting( )setFilter( )isReadable()和exists( ) 。
list-of-QFileInfo QDir.entryInfoList (self, QStringList nameFilters, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
这是一个重载函数。
返回列表QFileInfo在目录中的所有文件和目录对象,根据名称和属性序滤事先用setNameFilters()和setFilter( ) ,并排序按设定的标志setSorting( ) 。
该属性过滤和排序的规定可以使用被复盖的filters和sort参数。
返回空列表,如果该目录是不可读的,不存在,或者如果没有的规格相匹配。
See also entryList( )setNameFilters( )setSorting( )setFilter( )isReadable()和exists( ) 。
QStringList QDir.entryList (self, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
返回目录中的所有文件和目录的名称列表,责令按照名称和属性之前设置过滤器setNameFilters()和setFilter( ) ,并排序按设定的标志setSorting( ) 。
该名过滤器,文件属性过滤和排序规范可以使用被复盖的nameFilters,filters和sort参数。
返回空列表,如果该目录是不可读的,不存在,或者如果没有的规格相匹配。
See also entryInfoList( )setNameFilters( )setSorting()和setFilter( ) 。
QStringList QDir.entryList (self, QStringList nameFilters, Filters filters = QDir.NoFilter, SortFlags sort = QDir.NoSort)
这是一个重载函数。
返回目录中的所有文件和目录的名称列表,责令按照名称和属性之前设置过滤器setNameFilters()和setFilter( ) ,并排序按设定的标志setSorting( ) 。
该属性过滤和排序的规定可以使用被复盖的filters和sort参数。
返回空列表,如果该目录是不可读的,不存在,或者如果没有的规格相匹配。
Note:要列出指向不存在的文件的符号链接,System必须被传递到过滤器。
See also entryInfoList( )setNameFilters( )setSorting()和setFilter( ) 。
bool QDir.exists (self)
返回True如果调用的文件name存在,否则返回False 。
除非name包含一个绝对文件路径,文件名被假定为是相对于目录本身,所以这个功能通常用于检查文件的目录中存在。
See also QFileInfo.exists()和QFile.exists( ) 。
bool QDir.exists (self, QString name)
这是一个重载函数。
返回True如果该目录存在,否则返回False 。 (如果找到具有相同名称的文件此函数将返回False ) 。
这个函数接受一个参数的重载是用来测试文件和目录的目录中存在。
See also QFileInfo.exists()和QFile.exists( ) 。
QString QDir.filePath (self, QString fileName)
返回目录中的文件的路径名。是否not检查文件是否确实存在于目录,但看exists( ) 。如果QDir相对于返回的路径名称也将是相对的。冗馀的多个隔板或“。 ”中和“..”的目录fileName不会被删除(见cleanPath())。
See also dirName( )absoluteFilePath( )isRelative()和canonicalPath( ) 。
Filters QDir.filter (self)
See also setFilter( ) 。
QString QDir.fromNativeSeparators (QString pathName)
Returns pathName用’/‘作为文件分隔符。在Windows上,例如, fromNativeSeparators ( “c:\\winnt\\system32
“)返回” C :/在winnt/system32 “ 。
返回的字符串可能是相同的说法在某些操作系统上,例如在Unix上。
这个函数中引入了Qt 4.2中。
See also toNativeSeparators()和separator( ) 。
QDir QDir.home ()
[
返回用户的主目录。
]($docs-qdir.html)
该目录是使用主目录的绝对路径,确保构建其path()将是相同的其absolutePath( ) 。
See homePath( )了解详情。
See also drives( )current( )root()和temp( ) 。
QString QDir.homePath ()
返回用户的主目录的绝对路径。
在Windows下这个函数会返回当前用户的配置文件的目录。典型地,这是:
C:/Documents and Settings/Username
使用toNativeSeparators( )函数的分隔符转换为那些适用于底层的操作系统。
如果当前用户的配置文件的目录不存在或无法检索,下面的替代品将被选中(在给定的顺序),直到现有的和可用的路径中找到:
- 由指定的路径
USERPROFILE
环境变量。 - 通过连接形成的路径
HOMEDRIVE
和HOMEPATH
环境变量。 - 由指定的路径
HOME
环境变量。 - 在返回的路径rootPath()函数(它使用
SystemDrive
环境变量) - 该
C:/
目录。
在非Windows操作系统HOME
环境变量用于如果存在的话,否则路径的返回rootPath( ) 。
在Symbian这通常会返回“C :/数据”,即同本地PathInfo.PhoneMemoryRootPath ( ) 。
See also home( )currentPath( )rootPath()和tempPath( ) 。
bool QDir.isAbsolute (self)
返回True如果该目录的路径是绝对的,否则返回False 。看isAbsolutePath( ) 。
See also isRelative( )makeAbsolute()和cleanPath( ) 。
bool QDir.isAbsolutePath (QString path)
返回True如果path是绝对的,如果它是相对于返回False 。
See also isAbsolute( )isRelativePath( )makeAbsolute()和cleanPath( ) 。
bool QDir.isReadable (self)
返回True如果该目录是可读的and我们可以通过名字打开文件,否则返回False 。
Warning:从这个函数值为False并不保证该目录中的文件无法访问。
See also QFileInfo.isReadable( ) 。
bool QDir.isRelative (self)
返回True如果该目录是相对路径,否则返回False 。 (在Unix下的路径是相对的,如果它不是以一个“/”) 。
See also makeAbsolute( )isAbsolute( )isAbsolutePath()和cleanPath( ) 。
bool QDir.isRelativePath (QString path)
返回True如果path是相对的,如果它是绝对的返回False 。
See also isRelative( )isAbsolutePath()和makeAbsolute( ) 。
bool QDir.isRoot (self)
返回True如果该目录是根目录,否则返回False 。
注:如果该目录是根目录下的符号链接这个函数返回False 。如果你想测试这个使用canonicalPath( ),例如
[QDir]($docs-qdir.html) dir("/tmp/root_link");
dir = dir.canonicalPath();
if (dir.isRoot())
qWarning("It is a root link");
bool QDir.makeAbsolute (self)
目录路径为绝对路径转换。如果它已经绝对没有任何反应。返回True如果转换成功,否则返回False 。
See also isAbsolute( )isAbsolutePath( )isRelative()和cleanPath( ) 。
bool QDir.match (QStringList filters, QString fileName)
返回True如果fileName匹配通配符( GLOB )模式filter否则返回False 。该filter可能包含由空格或分号分隔的多个模式。匹配不区分大小写。
See also QRegExp wildcard matching,QRegExp.exactMatch( )entryList()和entryInfoList( ) 。
bool QDir.match (QString filter, QString fileName)
这是一个重载函数。
返回True如果fileName匹配任何通配符的(水珠)模式中的列表filters否则返回False 。匹配不区分大小写。
See also QRegExp wildcard matching,QRegExp.exactMatch( )entryList()和entryInfoList( ) 。
bool QDir.mkdir (self, QString dirName)
创建一个子目录名为dirName。
成功时返回TRUE ,否则返回False 。
如果该目录已经存在时,这个函数被调用时,它会返回False 。
See also rmdir( ) 。
bool QDir.mkpath (self, QString dirPath)
创建该目录路径dirPath。
该函数将创建需要创建该目录下所有的父目录。
成功返回True ,否则返回False 。
如果路径已经存在时,这个函数被调用时,它会返回True 。
See also rmpath( ) 。
QStringList QDir.nameFilters (self)
返回字符串列表进行设置setNameFilters( )
See also setNameFilters( ) 。
QStringList QDir.nameFiltersFromString (QString nameFilter)
QString QDir.path (self)
QDir.refresh (self)
刷新的目录信息。
QString QDir.relativeFilePath (self, QString fileName)
返回的路径fileName相对于该目录。
[QDir]($docs-qdir.html) dir("/home/bob");
[QString]($docs-qstring.html) s;
s = dir.relativeFilePath("../img/file.jpg"); // s is "../img/file.jpg"
s = dir.relativeFilePath("/home/mary/file.txt"); // s is "../mary/file.txt"
See also absoluteFilePath( )filePath()和canonicalPath( ) 。
bool QDir.remove (self, QString fileName)
删除该文件,fileName。
返回True如果文件被成功删除,否则返回False 。
bool QDir.rename (self, QString oldName, QString newName)
重命名一个文件或目录oldName至newName,并成功返回True ,否则返回False 。
在大多数的文件系统,重新命名()失败仅当oldName不存在,如果newName和oldName不在同一个分区,或者使用新名称的文件已经存在。然而,也有其他原因,重命名( )可能会失败。例如,在至少一个文件系统命名()将失败,如果newName指向一个打开的文件。
bool QDir.rmdir (self, QString dirName)
通过移除指定的目录dirName。
该目录必须是空的命令rmdir ()来取得成功。
成功返回True ,否则返回False 。
See also mkdir( ) 。
bool QDir.rmpath (self, QString dirPath)
删除的目录路径dirPath。
该功能将删除所有父目录中dirPath,只要它们是空的。这是mkpath ( dirPath )的对面。
成功返回True ,否则返回False 。
See also mkpath( ) 。
QDir QDir.root ()
[
返回根目录。
]($docs-qdir.html)
该目录是使用根目录的绝对路径,确保构造,其path()将是相同的其absolutePath( ) 。
See rootPath( )了解详情。
See also drives( )current( )home()和temp().
QString QDir.rootPath ()
返回根目录的绝对路径。
对于Unix操作系统这将返回“ / ” 。对于Windows和Symbian的文件系统中,这通常会返回“C :/ ” 。 I.E.在系统驱动器的根目录。
See also root( )drives( )currentPath( )homePath()和tempPath( ) 。
QStringList QDir.searchPaths (QString prefix)
返回的搜索路径prefix。
此功能被引入Qt的4.3 。
See also setSearchPaths()和addSearchPath( ) 。
QChar QDir.separator ()
返回本机目录分隔符“ / ”的Unix (包括Mac OS X )根据与“\” Windows下。
你不需要使用这个功能来构建文件路径。如果你总是使用“ / ” , Qt将会把你的路径,以符合底层操作系统。如果你想使用自己的操作系统的分隔符使用,以显示给用户的路径toNativeSeparators( ) 。
bool QDir.setCurrent (QString path)
设置应用程序的当前工作目录path。返回True如果该目录已成功更改,否则返回False 。
See also current( )currentPath( )home( )root()和temp( ) 。
QDir.setFilter (self, Filters filter)
设置所使用的过滤器entryList()和entryInfoList()来filters。该过滤器是用于指定类型的文件,应当由被返回entryList()和entryInfoList( ) 。看QDir.Filter。
See also filter()和setNameFilters( ) 。
QDir.setNameFilters (self, QStringList nameFilters)
设置所使用的过滤器名称entryList()和entryInfoList( )到由指定的过滤器列表nameFilters。
每名过滤器是一个通配符(通配符)过滤器能够理解*
和?
通配符。 (见QRegExp wildcard matching。 )
例如,下面的代码设置在三名过滤器QDir以确保与扩展通常用于C + +源文件只有文件被列出:
[QStringList](qstringlist.html) filters;
filters << "*.cpp" << "*.cxx" << "*.cc";
dir.setNameFilters(filters);
See also nameFilters()和setFilter( ) 。
QDir.setPath (self, QString path)
载到目录的路径path。的路径被清除多馀的“…”, “…”和多个隔板。没有检查,看看这个路径中的目录是否真的存在,但你可以检查自己使用exists( ) 。
该路径可以是绝对的或相对的。绝对路径开头的目录分隔符“ / ” (前面可以在Windows下的驱动器规格) 。相对文件名开头的目录名或文件名和路径指定一个相对于当前目录。绝对路径的一个例子是字符串“ / tmp目录/石英” ,相对路径可能看起来像“的src / fatlib ” 。
See also path( )absolutePath( )exists( )cleanPath( )dirName( )absoluteFilePath( )isRelative()和makeAbsolute( ) 。
QDir.setSearchPaths (QString prefix, QStringList searchPaths)
设置或替换文件名Qt的搜索路径的前缀prefix至searchPaths。
要指定一个前缀的文件名,前面加上前缀后跟一个冒号(例如, “图片: undo.png ” , “ xmldocs : books.xml”文件) 。prefix只能包含字母或数字(例如,它不能包含一个冒号,也没有斜线) 。
Qt使用这个搜索路径来定位文件与已知的前缀。搜索路径条目,以便进行测试,从第一个项目。
[QDir]($docs-qdir.html).setSearchPaths("icons", [QStringList](qstringlist.html)([QDir]($docs-qdir.html).homePath() + "/images"));
[QDir]($docs-qdir.html).setSearchPaths("docs", [QStringList](qstringlist.html)(":/embeddedDocuments"));
...
[QPixmap](qpixmap.html) pixmap("icons:undo.png"); // will look for undo.png in QDir.homePath() + "/images"
[QFile](qfile.html) file("docs:design.odf"); // will look in the :/embeddedDocuments resource path
文件名前缀必须至少为2个字符,以避免与Windows驱动器盘符冲突。
搜索路径可能包含为路径The Qt Resource System。
此功能被引入Qt的4.3 。
See also searchPaths( ) 。
QDir.setSorting (self, SortFlags sort)
设置使用的排序顺序entryList()和entryInfoList( ) 。
该sort从枚举指定的OR-ing值QDir.SortFlag。
SortFlags QDir.sorting (self)
See also setSorting()和SortFlag。
QDir QDir.temp ()
[
返回系统的临时目录。
]($docs-qdir.html)
该目录是使用临时目录的绝对路径,确保构建其path()将是相同的其absolutePath( ) 。
See tempPath( )了解详情。
See also drives( )current( )home()和root( ) 。
QString QDir.tempPath ()
返回系统的临时目录的绝对路径。
在Unix / Linux系统中,这是在路径TMPDIR
环境变量或/tmp
如果TMPDIR
没有定义。在Windows上,这是通常在路径TEMP
or TMP
环境变量。目录分隔符是否被添加到末尾与否,取决于操作系统。
See also temp( )currentPath( )homePath()和rootPath( ) 。
QString QDir.toNativeSeparators (QString pathName)
Returns pathName用’/‘分隔符转换为分隔符是适用于底层的操作系统。
在Windows上, toNativeSeparators ( “C :/在winnt/system32 ”)返回“C : \ WINNT \ SYSTEM32 ” 。
返回的字符串可能是相同的说法在某些操作系统上,例如在Unix上。
这个函数中引入了Qt 4.2中。
See also fromNativeSeparators()和separator( ) 。
int QDir.__contains__ (self, QString)
bool QDir.__eq__ (self, QDir dir)
QString QDir.__getitem__ (self, int)
QStringList QDir.__getitem__ (self, slice)
QDir.__len__ (self)
bool QDir.__ne__ (self, QDir dir)