programmazione:qt:scandire_directory
Scandire i file di una directory con qt
Autore: Fabio Di Matteo
Ultima revisione: 13/07/2013
Ecco come scandire i file di una direcory in base ad un filtro del tipo *.txt
.
Scanzione non ricorsiva
#include <QDir> #include <QFileInfo> #include <QStringList> ... QDir dir ("/home/fabio/mydir"); QStringList filters ("*.txt"); QFileInfoList list = dir.entryInfoList (filters); for (int i = 0; i < list.size(); ++i) { QFileInfo fInfo = list.at(i); qDebug() << fInfo.absoluteFilePath(); }
Nella struttura fInfo abbiamo le informazioni sul file corrente.
Scanzione ricorsiva
#include <QDir> #include <QFileInfo> ... void scanDirs(QString folder) { QDir dir(folder); if (dir.exists()) { foreach(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files | QDir::AllDirs )) { if (info.isFile()) { //Qui potremmo lavorare con il file corrente } if (info.isDir()) { //Entriamo ricorsivamente nella prossima directory scanDirs(info.absoluteFilePath()); } } } }
Come si puo' vedere dall'esempio possiamo lavorare con i file o le directory alltraverso la struttura info .
programmazione/qt/scandire_directory.txt · Ultima modifica: 08/05/2025 10:02 da 127.0.0.1