Get only files but not directories in QT?

2020-08-09 17:32发布

问题:

When I do this:

QDir myDir("/home/some/location");
QStringList filesList = myDir.entryList("*");

it is returning both the files and the directories inside that location. But I want only files. And the files can have arbitrary extensions. Any ideas?

回答1:

Use QDir::entryInfoList to return a list of QFileInfo objectsd and then check the state of each of them, you can also use filters to only return a list of files /and/or dirs



回答2:

Use this

QDir recoredDir("YOUR DIRECTORY");
    QStringList allFiles = recoredDir.entryList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden  | QDir::AllDirs | QDir::Files, QDir::DirsFirst);//(QDir::Filter::Files,QDir::SortFlag::NoSort)

;