我開發MAC OS X中,我必須找到文件夾中文件的應用程序。問題是,我想讓用戶通過輸入QString
來搜索文件。此QString可能是文件的確切名稱或文件名中包含的文本。假設文件名爲"mysamplefile.txt"
。所以如果用戶輸入'my'
; 'mysample'
; 'samplefile'
; 'mysamplefile'
或'mysamplefile.txt'
。在所有情況下,我想獲得該文件的QFileInfo
。我也給複選框選項'Match Case'
或'Ignore case'
用戶獲得fileinfo
。我有用戶想搜索,我也有由用戶選擇的位置的QStringList
的strings
一個QStringList
。所以,我想在每一個路徑(QStringList searchingdirectorylist
)搜索每個字符串名稱(從QStringList strSearchFileName
)。我想在搜索過程後爲所有文件做最後的QFileInfoList
。如何搜索一個文件中的QDir
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);
}
}
}
}
只有當我只搜索一個具有確切名稱的文件時,此函數不適用於本工作。但是我想用不確切的名字搜索多個文件。
感謝兄弟,它的工作對我來說 – rohit