问题描述
- 急求使用Qt遍历打开文件夹,并把所有子文件的路径显示在ListWidget中,求大神帮忙!
- bool StyleBatch::findFilePath(QString path)
{QDir dir(path);if (!dir.exists()) return 0;dir.setFilter(QDir::Dirs|QDir::Files);dir.setSorting(QDir::DirsFirst);QFileInfoList list = dir.entryInfoList();QStringList infolist = dir.entryList(QDir::Files | QDir::NoDotAndDotDot);//QList<QFileInfo> *fileInfo=new QList<QFileInfo>(dir.entryInfoList(infolist));int i = 0;do{ QFileInfo fileInfo = list.at(i); if(fileInfo.fileName()=="".""|fileInfo.fileName()=="".."") { i++; continue; } bool bisDir = fileInfo.isDir(); if(bisDir) { findFilePath(fileInfo.filePath()); } else { //这里就是你想要对文件的操作了 for(int m = 0; m <infolist.size(); m++) { //这里是获取当前要处理的文件名 QString filename = infolist.at(m); //QString filepath=fileInfo.absoluteFilePath(); qDebug()<<filepath; ui->listWidgetFiles->addItems((QStringList)filename);//这里主要只是添加文件名到ListWidgetFiles中,然而我后面需要按选中的文件路径对他们进行批量处理的过程,求具体地返回文件路径的方法,QFileInfo类不会用啊 } break;//这里一定要break退出while循环,因为infolist中的文件访问完之后,当前文件夹下已经没有任何文件了,这里是递归的返回 } i++; }while(i < list.size());//这里是list.size(),也就是当前文件夹下的文件夹数和文件数的和再+2
}
时间: 2024-11-03 08:20:13