QStringList test111111::findFiles(const QString &startDir, QStringList filters)
{
QStringList names;
QDir dir(startDir);
//搜索当前目录符合条件的文件
foreach (QString file, dir.entryList(filters, QDir::Files))
names += startDir + '/' + file;
//搜索当前目录的子目录符合条件的文件
foreach (QString subdir, dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot))
names += findFiles(startDir + '/' + subdir, filters);
return names;
}
函数调用举例:
QStringList files = findFiles("./", QStringList() << "*.cpp" << "*.h");
搜索当前目录 ./ 及其子目录下的.cpp文件和.h文件。