#include <QDir>
#include <QString>
#include <QDebug>
#include <iostream>
#include <fstream>
#include <QtCore>
#include <QCoreApplication>
std::ofstream output("D:dir.txt");
void Widget::addSubFolderImages(QString path)
{
//判断路径是否存在
QDir dir(path);
if(!dir.exists())
{
return;
}
//获取所选文件类型过滤器
// QStringList filters;
const QString data = ui->lineEdit_condition->text();
QStringList filters = data.split("|");//QString字符串分割函数
//qDebug
// filters<<QString("*.txt");
//定义迭代器并设置过滤器
QDirIterator dir_iterator(path,
filters,
QDir::Files | QDir::NoSymLinks,
QDirIterator::Subdirectories);
QStringList string_list;
while(dir_iterator.hasNext())
{
dir_iterator.next();
QFileInfo file_info = dir_iterator.fileInfo();
QString absolute_file_path = file_info.absoluteFilePath();
QFile file(absolute_file_path);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
if(line.indexOf(ui->lineEdit_Selectcondition->text())!=-1)
{
//这里输出了找到的文件名称
qDebug()<< absolute_file_path;
ui->textBrowser_content->append(absolute_file_path);
output << absolute_file_path.toStdString()<<std::endl;
string_list.append(absolute_file_path);
break;
}
//qDebug()<< line;
}
}
}
//获取遍历路径
const QString mString = ui->lineEdit_Path->text();
addSubFolderImages(QString(mString));
具体效果图
源码地址:https://download.csdn.net/download/qq_41155858/11965644