Qt – Über Ordner und Resourcen iterieren

Wer in Qt schnell über eine Verzeichnisstruktur iterieren will, der nutzt dazu QDirIterator.
Die Qt Dokumentation meint dazu:

 QDirIterator it("/etc", QDirIterator::Subdirectories);
 while (it.hasNext()) {
     qDebug() << it.next();

     // /etc/.
     // /etc/..
     // /etc/X11
     // /etc/X11/fs
     // ...
 }

Nichts besonders, sowas kann heutzutage jedes Framework – und Java von Haus aus.

Jetzt wirds awesome: QDirIterator greift nicht direkt auf das Dateisystem zu (Architekturbedingt macht das bei einem plattformunabhängigen Framework auch keinen Sinn), sondern über Ableitungen von QAbstractFileEngineIterator. Und so ermöglicht QDirIterator auch den Zugriff auf in die Applikation kompilierte Resourcen:

QDirIterator it(":/subitems");
 while (it.hasNext()) {
     qDebug() << it.next();

    // :/subitems/globe.png
    // :/subitems/pin.png
    // :/subitems/light_bulb.png
     // ...
 }

Awesome!

Dieser Beitrag wurde unter Allgemein abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>