qt 遍历文件夹下文件及目录

前言 今天做了一个功能需要用qt 遍历文件夹下文件及目录,下方是遍历方法,记录一下。 正文如下 获取当前路径目 […]

前言

今天做了一个功能需要用qt 遍历文件夹下文件及目录,下方是遍历方法,记录一下。

正文如下

获取当前路径目录

// QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs 去除“.” “..”

QDir dir(dirPath);
    QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
    foreach (auto fileInfo, fileInfoList) {
        if(fileInfo.isDir())
        {
            qDebug() << __FUNCTION__ << __LINE__ << "  : " << fileInfo.absoluteFilePath();
        }
    }

遍历当前路径下目录

QStringList DirOptUtils::getFileListUnderDir(const QString &dirPath)
{
    QStringList fileList;
    QDir dir(dirPath);
    QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
    foreach (auto fileInfo, fileInfoList) {
        if(fileInfo.isDir())
        {
            qDebug() << __FUNCTION__ << __LINE__ << "  : " << fileInfo.absoluteFilePath();
            getFileListUnderDir(fileInfo.absoluteFilePath());
        }
    }
    return fileList;
}

遍历当前路径下文件

QStringList DirOptUtils::getFileListUnderDir(const QString &dirPath)
{
    QStringList fileList;
    QDir dir(dirPath);
    QFileInfoList fileInfoList = dir.entryInfoList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
    foreach (auto fileInfo, fileInfoList) {
        if(fileInfo.isDir())
        {

            getFileListUnderDir(fileInfo.absoluteFilePath());
        }

        if(fileInfo.isFile())
        {
            qDebug() << __FUNCTION__ << __LINE__ << "  : " << fileInfo.absoluteFilePath();
        }
    }
    return fileList;
}

 

效果展示

版权声明
文章标题:qt 遍历文件夹下文件及目录
文章链接:https://blog.chiyuba.com/houduanjishu/qt/234.html
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,转载或引用请注明出处。
温馨提示:本文最后更新于 2025年7月9日,部分内容可能存在时效性,请注意甄别。

相关推荐

更多教程
Qt4、Qt5和Qt6各个版本如何选择 Qt Qt4、Qt5和Qt6各个版本如何选择

特殊版本 嵌入式推荐用 Qt4.8,打包...

12 浏览
Qt QString转double保留两位小数 Qt Qt QString转double保留两位小数

实现方法 QString str; do...

1 浏览
Qt的pro项目管理配置之编译前置执行代码 Qt Qt的pro项目管理配置之编译前置执行代码

实现方式 srcFile1 = $$PW...

4 浏览

评论 (2)

lxh
lxh
2023-02-02 11:50 #1

hello请问你这个代码是在什么语言下写的呢,我是C++,写getfilelistunderdir的时候他提示没有这个。请问该怎么改呢,谢谢

小何
小何
2023-02-04 12:14 #2

Qt环境写的