QDirListing::DirEntry Class

class QDirListing::DirEntry

公共函数

QString absoluteFilePath() const
QString absolutePath() const
QString baseName() const
QDateTime birthTime(const QTimeZone &tz) const
QString bundleName() const
QString canonicalFilePath() const
QString completeBaseName() const
QString completeSuffix() const
bool exists() const
QFileInfo fileInfo() const
QString fileName() const
QString filePath() const
QDateTime fileTime(QFileDevice::FileTime type, const QTimeZone &tz) const
bool isDir() const
bool isExecutable() const
bool isFile() const
bool isHidden() const
bool isReadable() const
bool isSymLink() const
bool isWritable() const
QDateTime lastModified(const QTimeZone &tz) const
QDateTime lastRead(const QTimeZone &tz) const
QDateTime metadataChangeTime(const QTimeZone &tz) const
qint64 size() const
QString suffix() const

详细说明

引用一个有效的QDirListing::const_iterator 会返回一个 DirEntry 对象。

DirEntry 提供QFileInfo 的 API 子集(例如,fileName(),filePath(),exists() )。在内部,DirEntry 仅在需要时(即信息尚未被其他系统函数获取)构建QFileInfo 对象。您可以使用DirEntry::fileInfo() 获取QFileInfo

using ItFlag = QDirListing::IteratorFlag;
for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
    // Faster
    if (dirEntry.fileName().endsWith(u".conf")) { /* ... */ }

    // This works, but might be potentially slower, since it has to construct a
    // QFileInfo, whereas (depending on the implementation) the fileName could
    // be known already
    if (dirEntry.fileInfo().fileName().endsWith(u".conf")) { /* ... */ }
}
using ItFlag = QDirListing::IteratorFlag;
for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
    // Both approaches are the same, because DirEntry will have to construct
    // a QFileInfo to get this info (for example, by calling system stat())

    if (dirEntry.size() >= 4'000 /* 4KB */) { /* ...*/ }
    if (dirEntry.fileInfo().size() >= 4'000 /* 4KB */) { /* ... */ }
}

成员函数文档

QDateTime DirEntry::birthTime(const QTimeZone &tz) const

QDateTime DirEntry::fileTime(QFileDevice::FileTime type, const QTimeZone &tz) const

QDateTime DirEntry::lastModified(const QTimeZone &tz) const

QDateTime DirEntry::lastRead(const QTimeZone &tz) const

QDateTime DirEntry::metadataChangeTime(const QTimeZone &tz) const

QFileInfo DirEntry::fileInfo() const

QString DirEntry::absoluteFilePath() const

QString DirEntry::absolutePath() const

QString DirEntry::baseName() const

QString DirEntry::bundleName() const

QString DirEntry::canonicalFilePath() const

QString DirEntry::completeBaseName() const

QString DirEntry::completeSuffix() const

QString DirEntry::fileName() const

QString DirEntry::filePath() const

QString DirEntry::suffix() const

bool DirEntry::exists() const

bool DirEntry::isDir() const

bool DirEntry::isExecutable() const

bool DirEntry::isFile() const

bool DirEntry::isHidden() const

bool DirEntry::isReadable() const

bool DirEntry::isWritable() const

qint64 DirEntry::size() const

请参见QFileInfo 中的同名方法。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.