/**
* @func: FindFile
* @brief: 查找某个目录下特定类型的文件
* @author: XXX 2020
* @param: strFilePath:要搜索的文件夹
strNameFilters:要搜索的文件类型(例如"*.xml")
* @return: 符合的文件列表
*/
QFileInfoList FindFile(const QString &strFilePath, const QString &strNameFilters)
{
QFileInfoList fileList;
if (strFilePath.isEmpty() || strNameFilters.isEmpty())
{
return fileList;
}
QDir dir;
QStringList filters;
filters << strNameFilters;
dir.setPath(strFilePath);
dir.setNameFilters(filters);
QDirIterator iter(dir,QDirIterator::Subdirectories);
while (iter.hasNext())
{
iter.next();
QFileInfo info=iter.fileInfo();
if (info.isFile())
{
fileList.append(info);
}
}
return fileList;
}
调用:
QFileInfoList fileList = m_pDialogCfg->FindFile("./test", "*.xml");
QFileInfo fileInfo;
bool bIsFind = false;
foreach(fileInfo, fileList)
{
if (fileInfo.fileName().compare(iedRowHeaderitem->text()) == 0)
{
bIsFind = true;
break;
}
}
if (bIsFind == false)
{
...
}
else
{
...
}