Qt 遍历目录

遍历目录主要用QDir

参考:

https://www.cnblogs.com/findumars/p/6006129.html

http://blog.sina.com.cn/s/blog_a6fb6cc90101f1ur.html

示例:

QFileInfoList CDialogLoadFile::GetFileList(QString path)
{
    QDir dir(path);
    QStringList nameFilters;
    nameFilters << ".txt";
    QFileInfoList file_list = dir.entryInfoList(nameFilters,QDir::Files | QDir::Hidden | QDir::NoSymLinks);
    QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);

    for(int i = 0; i != folder_list.size(); i++)
    {
         QString name = folder_list.at(i).absoluteFilePath();
         QFileInfoList child_file_list = GetFileList(name);
         file_list.append(child_file_list);
    }
    return file_list;
}

主要的API是entryInfoList

搬一下F1(Qt的F1真的不错,虽然有时也不那么完善)

QFileInfoList QDir::entryInfoList ( Filters filters = NoFilter, SortFlags sort = NoSort ) const
This is an overloaded function.

Returns a list of QFileInfo objects for all the files and directories in the directory, ordered according to the name and attribute filters previously set with setNameFilters() and setFilter(), and sorted according to the flags set with setSorting().

The attribute filter and sorting specifications can be overridden using the filters and sort arguments.

Returns an empty list if the directory is unreadable, does not exist, or if nothing matches the specification.

猜你喜欢

转载自blog.csdn.net/daizhiyan1/article/details/81359509