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日,部分内容可能存在时效性,请注意甄别。

相关推荐

更多教程
QSplitter设置比例 Qt QSplitter设置比例

前言 最近在使用QSplitter的时候...

5 浏览
Qt中文乱码解决方法 Qt Qt中文乱码解决方法

解决方法 代码文件选择用utf8编码带b...

3 浏览
QListWidget删除item方法 Qt QListWidget删除item方法

前言 今天在使用QListWidget删...

4 浏览

评论 (2)

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

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

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

Qt环境写的