小言_互联网的博客

QT:获取当前目录下所有的文件(附代码)

330人阅读  评论(0)

先上代码
需要包含的头文件

#include <QDir>
#include <QDebug>  //作为打印程序运行结果使用
QStringList Server_TCP::Tcp_Server_Get_Photo_Dir(QString file_path){

    file_path = ".//photo";
    QDir dir(file_path);
    QStringList file_list;

    QStringList nameFilters;
    if (dir.exists())   //判断目录是否存在
    {
/*

说明
    QDir::NoDotAndDotDot
    作用:去除 "."  ".."   它们分别表示为当前目录、上一级目录

    QDir::Files
    作用:显示文件(不是文件夹)

    QDir::Dirs
    作用:显示文件夹

    代码示例:

        file_list = dir.entryList(QDir::Files | QDir::NoDotAndDotDot | QDir::Dirs);
        qDebug() << file_list;

拓展
    当你需要查询特定内容(比如说固定的文件格式、特定的文件名)
    那你可以根据需要加入前缀、后缀信息来辅助查询

    如果你当前的文件夹很多,如:文件夹1、文件夹2、文件夹3...
    那你可以通过加入前缀信息来辅助查询,
    代码示例:
    
        nameFilters << "文件*";
        file_list = dir.entryList(nameFilters,QDir::NoDotAndDotDot | QDir::Dirs);
        qDebug() << file_list;
        
    如果你需要查询特定的文件,如图片
    可以加入文件格式作为后缀信息来辅助查询
    代码示例:
    
        nameFilters << "*.jpg" << "*.png";
        file_list = dir.entryList(nameFilters,QDir::Files | QDir::NoDotAndDotDot);
        qDebug() << file_list;
    
*/
        nameFilters << "*.jpg" << "*.png";
        file_list = dir.entryList(nameFilters,QDir::Files | QDir::NoDotAndDotDot);
        qDebug() << file_list;
        return file_list;
    }
    else{

        file_list.clear();
        qDebug() << "该目录不存在!!!";
        return file_list;
    }
}

代码仅供学习参考,未经允许,禁止转载


转载:https://blog.csdn.net/weixin_41964246/article/details/104903907
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场