bool deleteDir( const QString& dirName ){ QDir dir(dirName); QStringList dirList = dir.entryList( QDir::Dirs | QDir::NoDotAndDotDot ); QStringList fileList = dir.entryList( QDir::Files ); QStringList::ConstIterator it; for ( it = dirList.begin(); it != dirList.end(); ++it ) { if ( !deleteDir( dir.absoluteFilePath(*it) ) ) return false; } for ( it = fileList.begin(); it != fileList.end(); ++it ) { if ( !dir.remove( *it ) ) return false; } dir.refresh(); if ( dir.entryList(QDir::NoDotAndDotDot).count() == 0 ) { QDir d(dir); d.cdUp(); if ( !d.rmdir( dirName ) ) return false; } return true;}