其他分享
首页 > 其他分享> > QFileInfoList

QFileInfoList

作者:互联网

简介

FileInfoList用于获得指定目录下所有文件/文件夹的基本信息,QFileInfoList其实是typedef创建的:

typedef QFileInfoList QList<QFileInfo>;

用法

QFileInfoList QDir::entryInfoList ( const QStringList & nameFilters, Filters filters = NoFilter, SortFlags sort = NoSort ) const
用于QDir类返回QFileInfoList类型对象。两个枚举参数filters 和sort 分别用来描述QDir目录下的文件筛选方式和文件排序方式。例如entryInfoList(QDir::Filter::Files, QDir::SortFlag::Name)表示只列出文件(不包含文件夹)、这些文件按名称排序。

QDir dir("E:\\CloudMusic\\"); //定义一个QDir变量,设置路径为当前目录的music文件夹(这里可用绝对路径也可以用相对路径)
QFileInfoList fileinfolist; //文件信息表
fileinfolist = dir.entryInfoList(); //列出所有符合的文件

QT中晒选给定目录下的某一类文件

#include <QApplication>
#include <QWidget>
#include <QDir>
#include <QDirModel>
#include <QStringList>
#include <QString>
#include <QDebug>
#include <QModelIndex>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    int i = 0;
    QDir dir("E:\\CloudMusic\\");//定义一个QDir变量,设置路径为当前目录的music文件夹(这里可用绝对路径也可以用相对路径)
    QStringList stringlist_song;//用来保存歌曲名的表
    QFileInfoList fileinfolist;//文件信息表
    QFileInfo fileinfo;//文件信息变量
    QString string_song;//用于保存文件信息字符串
 
    stringlist_song << "*.mp3";//把所有mp3文件加入到stringlist_song表中
    dir.setNameFilters(stringlist_song);//过滤文件
    fileinfolist = dir.entryInfoList();//列出所有符合的文件
    while( i<fileinfolist.length() ){
        fileinfo = fileinfolist.at(i);//把fileinfolist表中某个位置的歌曲名赋给fileinfo变量
        qDebug()<<fileinfo.fileName();
        string_song = fileinfo.filePath();//把fileinfo变量中的文件名转换成QString并赋给string_song
        qDebug()<<string_song;
        //stringlist_song << string_song;//把歌曲名赋给stringlist_song表
        i++;
    }
    QWidget w;
    w.show();
    return a.exec();
}

标签:文件,fileinfolist,QDir,文件夹,include,QFileInfoList
来源: https://blog.csdn.net/qq_36314864/article/details/114920530