急求使用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

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问