QT 目录
在Qt框架中,QDir 是一个用于操作目录和文件路径的类。
它提供了许多方法来处理目录和文件,例如列出目录内容、创建目录、删除目录等。
// QDir 类是 Qt 框架中用于操作目录和文件路径的重要类。以下是 QDir 类的所有成员函数和枚举类型的详细列表:
// 枚举类型
enum QDir::Filter {
Dirs, // 只列出目录
AllDirs, // 列出所有目录,包括隐藏目录
Files, // 只列出文件
Drives, // 列出驱动器(在 Windows 上)
NoSymLinks, // 不列出符号链接
NoDotAndDotDot, // 不列出 "." 和 ".."
AllEntries, // 列出所有条目(目录和文件)
Readable, // 只列出可读的条目
Writable, // 只列出可写的条目
Executable, // 只列出可执行的条目
Modified, // 只列出已修改的条目
Hidden, // 列出隐藏条目
System, // 列出系统条目
CaseSensitive // 区分大小写
};
enum QDir::SortFlag {
Name, // 按名称排序
Time, // 按修改时间排序
Size, // 按大小排序
Type, // 按类型排序
Unsorted, // 不排序
NoSort, // 不排序
DirsFirst, // 目录在前
DirsLast, // 目录在后
Reversed, // 反向排序
IgnoreCase, // 忽略大小写
LocaleAware // 使用本地化排序
};
// 构造函数
QDir();
QDir(const QDir &dir);
QDir(const QString &path);
QDir(const QString &path, const QString &nameFilter, SortFlags sort, Filters filters);
// 析构函数
~QDir();
// 公共成员函数
QString absoluteFilePath(const QString &fileName) const; // 返回文件的绝对路径
QString absolutePath() const; // 返回目录的绝对路径
QString canonicalPath() const; // 返回目录的规范路径
bool cd(const QString &dirName); // 切换到指定目录
bool cdUp(); // 切换到上级目录
uint count() const; // 返回目录中的条目数量
QString dirName() const; // 返回目录名称
QFileInfoList entryInfoList(const QStringList &nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const; // 返回目录条目的信息列表
QFileInfoList entryInfoList(Filters filters = NoFilter, SortFlags sort = NoSort) const; // 返回目录条目的信息列表
QStringList entryList(const QStringList &nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort) const; // 返回目录条目的名称列表
QStringList entryList(Filters filters = NoFilter, SortFlags sort = NoSort) const; // 返回目录条目的名称列表
bool exists(const QString &name) const; // 检查指定名称的条目是否存在
bool exists() const; // 检查目录是否存在
引例
#include <QCoreApplication>
#include <QDir>
#include <QStringList>
#include <QDebug>
//自定义函数,获取指定目录下的文件信息
qint64 getDirFileSize(const QString& filePath)
{
double size = 0;
//遍历路径所有文件和子目录,计算大小
QDir dir(filePath);
for (auto finfo: dir.entryInfoList(QDir::Files )){//只遍历文件
size +=