[gelöst] Anfängerfrage: Verzeichnisse rekursiv auslesen

Alles rund um die Programmierung mit Qt
Antworten
ron
Beiträge: 11
Registriert: 8. Juni 2005 08:09
Wohnort: Dresden

[gelöst] Anfängerfrage: Verzeichnisse rekursiv auslesen

Beitrag von ron »

Hallo Leute

Als absoluter QT-Anfänger stecke ich hier
bei einem Problem fest:

Wie kann ich unter QT Verzeichnisse rekursiv auslesen und
die darin enthaltenen Dateien in QStringList ablegen ???

Jemand einen Vorschlag oder Hinweis ??

Danke im Vorraus
ron
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Schau Dir mal QDir und QFileInfo an. Die Rekursion musst Du zwar von Hand machen, sollte aber nicht das Problem sein.
So habe ich es gelöst: main.cpp. Dort gibt es zwei oder drei Beispiele dafür.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ron
Beiträge: 11
Registriert: 8. Juni 2005 08:09
Wohnort: Dresden

Beitrag von ron »

Hi Christian ...

Danke für Deinen Hinweis, ich habe das Problem so gelöst:

Code: Alles auswählen

void AddFrm::onRecurseDir( QString dir )
{
   QDir d ( dir );
    if ( !d.exists() ) 
   {
	QMessageBox::information( this, "Error", "Can't open folder");
	exit( 1 );
    }
    
    d.setFilter( QDir::Dirs | QDir::Files | QDir::Hidden | QDir::NoSymLinks );
    d.setMatchAllDirs( true );

    const QFileInfoList *list = d.entryInfoList();
    QFileInfoListIterator it( *list );
    QFileInfo *fi;

    for ( ; ( fi = it.current() ) != 0; ++it )
    {
        if ( fi->fileName() == "." || fi->fileName() == ".."  )
            continue;
	else if ( fi->isDir() )
	    onRecurseDir( fi->absFilePath() + "/" );
        else if( fi->isFile() ) 
	    m_fileList.append( fi->absFilePath() );
        }
}
..so klappt's

ron
Antworten