Cómo utilizar subprocesos múltiples para recorrer carpetas en Qt
1. Qt recorre los archivos en el nivel inferior de la carpeta:
Método 1:
void ImageTree::addFolderImages(QString path)
{
// Juzga si la ruta existe
QDir dir(path);
if(!dir.exists()) p>
{
return
}
dir.setFilter(QDir::Files | QDir::NoSymLinks);
QFileInfoList lista = dir.entryInfoList();
int file_count = list.count();
if(file_count lt; = 0)
{
return;
}
QStringList cadena_lista
for(int i=0; i
{
QFileInfo file_info = list.at(i);
QString sufijo = file_info.suffix();
if(QString::compare(suffix, QString ("png "), Qt::CaseInSENSITIVE) == 0)
{
QString absolut_file_path = file_info.absoluteFilePath()
string_list.append( absoluta_file_path);
}
}
}
Análisis: recorre el siguiente nivel del archivo, que para el sistema incluye: Carpetas, archivos, accesos directos, use setFilter para filtrar. A través de EntryInfoList, puede obtener la lista de información del archivo en la carpeta filtrada y recorrer el archivo para obtener los detalles requeridos del archivo (tamaño, tipo, sufijo, etc.) operando QFileInfo.