我正在为 MAC OS X 开发一个应用程序。我必须在其中找到文件夹中的文件。问题是我想安慰用户,通过输入QString
. 此 QString 可能是文件的确切名称,也可能是文件名中包含的文本。假设文件名是"mysamplefile.txt"
. 因此,如果用户输入任何一个'my'
;'mysample'
; 'samplefile'
; 'mysamplefile'
或'mysamplefile.txt'
。在所有情况下,我都想获取该QFileInfo
文件的。我还给复选框选项'Match Case'
或'Ignore case'
给用户获取fileinfo
. 我有一个用户想要搜索的位置,我也有一个QStringList
用户选择的位置。所以我想在每个路径( )中搜索每个字符串名称(来自)。我想做一个决赛strings
QStringList
QStringList strSearchFileName
QStringList searchingdirectorylist
QFileInfoList
搜索过程后的所有文件。
void MainWindowWipe::onSearchingProcess(QStringList strSearchFileName, QStringList searchingdirectorylist)
{
for(int i=0; i<strSearchFileName.size();i++)
{
for(j=0; j<searchingdirectorylist.size();j++)
{
QDir dir(searchingdirectorylist[j]);
dir.setNameFilters(QStringList(strSearchFileName[i]));
dir.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);
QFileInfoList fileList = dir.entryInfoList();
for (int k=0; k<fileList.count(); k++)
{
QString temp = "";
temp = fileList[k].absoluteFilePath();
}
dir.setFilter(QDir::AllDirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);
QStringList dirList = dir.entryList();
QStringList newList;
for (int l=0; l<dirList.size(); ++l)
{
QString newPath = QString("%1/%2").arg(dir.absolutePath()).arg(dirList.at(i));
newList<<newPath;
onSearchingProcess(strSearchFileName,newList);
}
}
}
}
仅当我仅搜索一个具有确切名称的文件时,此功能才对我有用。但我想搜索多个名称不准确的文件。