QDir Class

Die Klasse QDir ermöglicht den Zugriff auf Verzeichnisstrukturen und deren Inhalte. Mehr...

Kopfzeile: #include <QDir>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Diese Klasse ist gleichwertig-vergleichbar.

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Typen

enum Filter { Dirs, AllDirs, Files, Drives, NoSymLinks, …, CaseSensitive }
flags Filters
enum SortFlag { Name, Time, Size, Type, Unsorted, …, LocaleAware }
flags SortFlags

Öffentliche Funktionen

QDir(const QString &path = QString())
(since 6.0) QDir(const std::filesystem::path &path)
QDir(const QString &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries)
(since 6.0) QDir(const std::filesystem::path &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries)
QDir(const QDir &dir)
~QDir()
QString absoluteFilePath(const QString &fileName) const
QString absolutePath() const
QString canonicalPath() const
bool cd(const QString &dirName)
bool cdUp()
qsizetype count() const
QString dirName() const
QFileInfoList entryInfoList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
QFileInfoList entryInfoList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
QStringList entryList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
QStringList entryList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
bool exists(const QString &name) const
bool exists() const
QString filePath(const QString &fileName) const
(since 6.0) std::filesystem::path filesystemAbsolutePath() const
(since 6.0) std::filesystem::path filesystemCanonicalPath() const
(since 6.0) std::filesystem::path filesystemPath() const
QDir::Filters filter() const
bool isAbsolute() const
bool isEmpty(QDir::Filters filters = Filters(AllEntries | NoDotAndDotDot)) const
bool isReadable() const
bool isRelative() const
bool isRoot() const
bool makeAbsolute()
(since 6.3) bool mkdir(const QString &dirName, QFileDevice::Permissions permissions) const
bool mkdir(const QString &dirName) const
bool mkpath(const QString &dirPath) const
QStringList nameFilters() const
QString path() const
void refresh() const
QString relativeFilePath(const QString &fileName) const
bool remove(const QString &fileName)
bool removeRecursively()
bool rename(const QString &oldName, const QString &newName)
bool rmdir(const QString &dirName) const
bool rmpath(const QString &dirPath) const
void setFilter(QDir::Filters filters)
void setNameFilters(const QStringList &nameFilters)
void setPath(const QString &path)
(since 6.0) void setPath(const std::filesystem::path &path)
void setSorting(QDir::SortFlags sort)
QDir::SortFlags sorting() const
void swap(QDir &other)
QDir &operator=(QDir &&other)
QDir &operator=(const QDir &dir)
QString operator[](qsizetype pos) const

Statische öffentliche Mitglieder

void addSearchPath(const QString &prefix, const QString &path)
(since 6.0) void addSearchPath(const QString &prefix, const std::filesystem::path &path)
QString cleanPath(const QString &path)
QDir current()
QString currentPath()
QFileInfoList drives()
QString fromNativeSeparators(const QString &pathName)
QDir home()
QString homePath()
bool isAbsolutePath(const QString &path)
bool isRelativePath(const QString &path)
QChar listSeparator()
bool match(const QString &filter, const QString &fileName)
bool match(const QStringList &filters, const QString &fileName)
QDir root()
QString rootPath()
QStringList searchPaths(const QString &prefix)
QChar separator()
bool setCurrent(const QString &path)
void setSearchPaths(const QString &prefix, const QStringList &searchPaths)
QDir temp()
QString tempPath()
QString toNativeSeparators(const QString &pathName)
bool operator!=(const QDir &lhs, const QDir &rhs)
bool operator==(const QDir &lhs, const QDir &rhs)

Detaillierte Beschreibung

Ein QDir wird verwendet, um Pfadnamen zu manipulieren, auf Informationen über Pfade und Dateien zuzugreifen und das zugrunde liegende Dateisystem zu manipulieren. Es kann auch verwendet werden, um auf das Ressourcensystem von Qt zuzugreifen.

Qt verwendet "/" als universelles Verzeichnis-Trennzeichen, so wie "/" als Pfad-Trennzeichen in URLs verwendet wird. Wenn Sie immer "/" als Verzeichnistrennzeichen verwenden, wird Qt Ihre Pfade so übersetzen, dass sie dem zugrunde liegenden Betriebssystem entsprechen.

Ein QDir kann entweder mit einem relativen oder einem absoluten Pfad auf eine Datei verweisen. Absolute Pfade beginnen mit dem Verzeichnistrennzeichen (unter Windows optional mit vorangestellter Laufwerksangabe). Relative Dateinamen beginnen mit einem Verzeichnisnamen oder einem Dateinamen und geben einen Pfad relativ zum aktuellen Verzeichnis an.

Beispiele für absolute Pfade:

QDir("/home/user/Documents")
QDir("C:/Users")

Unter Windows wird das zweite obige Beispiel in C:\Users übersetzt, wenn es für den Zugriff auf Dateien verwendet wird.

Beispiele für relative Pfade:

QDir("images/landscape.png")

Sie können die Funktionen isRelative() oder isAbsolute() verwenden, um zu prüfen, ob ein QDir einen relativen oder einen absoluten Dateipfad verwendet. Rufen Sie makeAbsolute() auf, um ein relatives QDir in ein absolutes zu konvertieren.

Hinweis: Pfade, die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein QResource bezeichnen.

Der Pfad eines Verzeichnisses kann mit der Funktion path() ermittelt werden, und ein neuer Pfad kann mit der Funktion setPath() festgelegt werden. Der absolute Pfad zu einem Verzeichnis wird durch den Aufruf von absolutePath() ermittelt.

Der Name eines Verzeichnisses wird mit der Funktion dirName() ermittelt. Diese gibt normalerweise das letzte Element im absoluten Pfad zurück, das den Ort des Verzeichnisses angibt. Sie kann jedoch auch "." zurückgeben, wenn QDir das aktuelle Verzeichnis darstellt.

QDir("Documents/Letters/Applications").dirName() // "Applications"
QDir().dirName()                                 // "."

Der Pfad für ein Verzeichnis kann auch mit den Funktionen cd() und cdUp() geändert werden, die beide wie bekannte Shell-Befehle funktionieren. Wenn cd() mit dem Namen eines bestehenden Verzeichnisses aufgerufen wird, ändert das QDir-Objekt das Verzeichnis so, dass es stattdessen dieses Verzeichnis repräsentiert. Die Funktion cdUp() ändert das Verzeichnis des QDir-Objekts so, dass es auf sein übergeordnetes Verzeichnis verweist; d.h. cd("..") ist äquivalent zu cdUp().

Verzeichnisse können mit mkdir() erstellt, mit rename() umbenannt und mit rmdir() entfernt werden.

Das Vorhandensein eines Verzeichnisses mit einem bestimmten Namen kann mit exists() geprüft werden, und die Eigenschaften eines Verzeichnisses können mit isReadable(), isAbsolute(), isRelative() und isRoot() geprüft werden.

Die Funktion refresh() liest die Daten des Verzeichnisses erneut von der Festplatte ein.

Dateien und Verzeichnisinhalte

Verzeichnisse enthalten eine Reihe von Einträgen, die Dateien, Verzeichnisse und symbolische Links darstellen. Die Anzahl der Einträge in einem Verzeichnis wird von count() zurückgegeben. Eine String-Liste mit den Namen aller Einträge in einem Verzeichnis erhalten Sie mit entryList(). Wenn Sie Informationen über jeden Eintrag benötigen, verwenden Sie entryInfoList(), um eine Liste von QFileInfo Objekten zu erhalten.

Pfade zu Dateien und Verzeichnissen innerhalb eines Verzeichnisses können mit filePath() und absoluteFilePath() erstellt werden. Die Funktion filePath() gibt einen Pfad zu der angegebenen Datei oder dem Verzeichnis relativ zum Pfad des QDir-Objekts zurück; absoluteFilePath() gibt einen absoluten Pfad zu der angegebenen Datei oder dem Verzeichnis zurück. Keine dieser Funktionen prüft das Vorhandensein von Dateien oder Verzeichnissen; sie konstruieren nur Pfade.

QDir directory("Documents/Letters");
QString path = directory.filePath("contents.txt");
QString absolutePath = directory.absoluteFilePath("contents.txt");

Dateien können mit der Funktion remove() entfernt werden. Verzeichnisse können nicht auf dieselbe Weise wie Dateien entfernt werden; verwenden Sie stattdessen rmdir(), um sie zu entfernen.

Es ist möglich, die Anzahl der von entryList() und entryInfoList() zurückgegebenen Einträge durch Anwendung von Filtern auf ein QDir-Objekt zu reduzieren. Sie können einen Namensfilter anwenden, um ein Muster mit Platzhaltern anzugeben, dem Dateinamen entsprechen müssen, einen Attributfilter, der Eigenschaften von Einträgen auswählt und zwischen Dateien und Verzeichnissen unterscheiden kann, sowie eine Sortierreihenfolge.

Namensfilter sind Listen von Zeichenketten, die an setNameFilters() übergeben werden. Attributfilter bestehen aus einer bitweisen ODER-Kombination von Filtern, die beim Aufruf von setFilter() angegeben werden. Die Sortierreihenfolge wird mit setSorting() mit einer bitweisen ODER-Kombination von SortFlags festgelegt.

Mit der Funktion match() können Sie prüfen, ob ein Dateiname einem Filter entspricht.

Filter- und Sortierreihenfolge-Flags können auch beim Aufruf von entryList() und entryInfoList() angegeben werden, um zuvor definiertes Verhalten außer Kraft zu setzen.

Das aktuelle Verzeichnis und andere spezielle Pfade

Der Zugriff auf einige gebräuchliche Verzeichnisse wird durch eine Reihe statischer Funktionen ermöglicht, die QDir-Objekte zurückgeben. Für diese gibt es auch entsprechende Funktionen, die Strings zurückgeben:

QDirQStringRückgabewert
current()currentPath()Das Arbeitsverzeichnis der Anwendung
home()homePath()Das Heimatverzeichnis des Benutzers
root()rootPath()Das Stammverzeichnis
temp()tempPath()Das temporäre Verzeichnis des Systems

Die statische Funktion setCurrent() kann auch verwendet werden, um das Arbeitsverzeichnis der Anwendung festzulegen.

Wenn Sie das Verzeichnis finden wollen, das die ausführbare Datei der Anwendung enthält, siehe QCoreApplication::applicationDirPath().

Die statische Funktion drives() liefert eine Liste der Stammverzeichnisse für jedes Gerät, das ein Dateisystem enthält. Auf Unix-Systemen wird eine Liste zurückgegeben, die ein einziges Wurzelverzeichnis "/" enthält; unter Windows enthält die Liste normalerweise C:/ und möglicherweise andere Laufwerksbuchstaben wie D:/, je nach Konfiguration des Benutzersystems.

Pfadmanipulation und Zeichenketten

Pfade, die "."-Elemente enthalten, die auf das aktuelle Verzeichnis an diesem Punkt des Pfades verweisen, ".."-Elemente, die auf das übergeordnete Verzeichnis verweisen, und symbolische Links können mit der Funktion canonicalPath() in eine kanonische Form gebracht werden.

Pfade können auch mit der Funktion cleanPath() vereinfacht werden, um überflüssige "/"- und ".."-Elemente zu entfernen.

Manchmal ist es notwendig, einen Pfad in der nativen Darstellung für die Plattform des Benutzers anzeigen zu können. Die statische Funktion toNativeSeparators() gibt eine Kopie des angegebenen Pfades zurück, in der jedes Verzeichnistrennzeichen durch das entsprechende Trennzeichen für das zugrunde liegende Betriebssystem ersetzt ist.

Beispiele

Prüfen, ob ein Verzeichnis existiert:

QDir dir("example");if (!dir.exists())    qWarning("Cannot find the example directory");

(Wir könnten auch eine der statischen Komfortfunktionen QFileInfo::exists() oder QFile::exists() verwenden).

Durchlaufen von Verzeichnissen und Lesen einer Datei:

QDir dir = QDir::root(); // "/"if (!dir.cd("tmp")) { // "/tmp"    qWarning("Cannot find the \"/tmp\" directory");
} else { QFile file(dir.filePath("ex1.txt")); // "/tmp/ex1.txt" if (!file.open(QIODevice::ReadWrite))        qWarning("Cannot create the file %s", file.name());
}

Ein Programm, das alle Dateien im aktuellen Verzeichnis (ohne symbolische Links) auflistet, sortiert nach Größe, die kleinste zuerst:

#include <QDir>
#include <iostream>

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    QDir dir;
    dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
    dir.setSorting(QDir::Size | QDir::Reversed);

    QFileInfoList list = dir.entryInfoList();
    std::cout << "     Bytes Filename" << std::endl;
    for (int i = 0; i < list.size(); ++i) {
        QFileInfo fileInfo = list.at(i);
        std::cout << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10)
                                                .arg(fileInfo.fileName()));
        std::cout << std::endl;
    }
    return 0;
}

Plattformspezifische Probleme

Unter Android gelten einige Einschränkungen beim Umgang mit Inhalts-URIs:

Siehe auch QFileInfo, QFile, QFileDialog, QCoreApplication::applicationDirPath(), und Fetch More Example.

Dokumentation der Mitgliedstypen

enum QDir::Filter
flags QDir::Filters

Diese Aufzählung beschreibt die Filteroptionen, die für QDir zur Verfügung stehen, z.B. für entryList() und entryInfoList(). Der Filterwert wird durch die Kombination von Werten aus der folgenden Liste unter Verwendung des bitweisen OR-Operators angegeben:

KonstanteWertBeschreibung
QDir::Dirs0x001Listet Verzeichnisse auf, die mit den Filtern übereinstimmen.
QDir::AllDirs0x400Alle Verzeichnisse auflisten, d.h. die Filter nicht auf Verzeichnisnamen anwenden.
QDir::Files0x002Dateien auflisten.
QDir::Drives0x004Laufwerke auflisten (wird unter Unix ignoriert).
QDir::NoSymLinks0x008Keine symbolischen Links auflisten (wird von Betriebssystemen ignoriert, die keine symbolischen Links unterstützen).
QDir::NoDotAndDotDotNoDot | NoDotDotDie speziellen Einträge "." und ".." nicht auflisten.
QDir::NoDot0x2000Den speziellen Eintrag "." nicht auflisten.
QDir::NoDotDot0x4000Den speziellen Eintrag ".." nicht auflisten.
QDir::AllEntriesDirs | Files | DrivesVerzeichnisse, Dateien, Laufwerke und Symlinks auflisten (defekte Symlinks werden nicht aufgelistet, außer Sie geben System an).
QDir::Readable0x010Listen Sie Dateien auf, für die die Anwendung Lesezugriff hat. Der Wert Readable muss mit Dirs oder Files kombiniert werden.
QDir::Writable0x020Dateien auflisten, für die die Anwendung Schreibzugriff hat. Der Wert Writable muss mit Dirs oder Files kombiniert werden.
QDir::Executable0x040Dateien auflisten, auf die die Anwendung Ausführungszugriff hat. Der Wert Executable muss mit Dirs oder Files kombiniert werden.
QDir::Modified0x080Nur Dateien auflisten, die geändert wurden (wird unter Unix ignoriert).
QDir::Hidden0x100Versteckte Dateien auflisten (unter Unix, Dateien, die mit einem "." beginnen).
QDir::System0x200Systemdateien auflisten (unter Unix sind FIFOs, Sockets und Gerätedateien enthalten; unter Windows sind .lnk Dateien enthalten)
QDir::CaseSensitive0x800Der Filter sollte zwischen Groß- und Kleinschreibung unterscheiden.

Funktionen, die Filter-Enum-Werte verwenden, um Listen von Dateien und Verzeichnissen zu filtern, schließen symbolische Links zu Dateien und Verzeichnissen ein, sofern Sie nicht den Wert NoSymLinks setzen.

Eine standardmäßig konstruierte QDir filtert keine Dateien auf der Grundlage ihrer Berechtigungen heraus, so dass entryList() und entryInfoList() alle Dateien zurückgeben, die lesbar, schreibbar, ausführbar oder eine beliebige Kombination der drei sind. Dies macht die Vorgabe einfach zu schreiben und gleichzeitig nützlich.

Wenn Sie beispielsweise die Flags Readable, Writable und Files setzen, werden alle Dateien aufgelistet, für die die Anwendung Lese- oder Schreibzugriff oder beides hat. Wenn die Flags Dirs und Drives ebenfalls in dieser Kombination enthalten sind, können alle Laufwerke, Verzeichnisse, alle Dateien, die die Anwendung lesen, schreiben oder ausführen kann, sowie Symlinks zu solchen Dateien/Verzeichnissen aufgelistet werden.

Um die Berechtigungen für ein Verzeichnis abzurufen, verwenden Sie die Funktion entryInfoList(), um die zugehörigen QFileInfo -Objekte zu erhalten, und verwenden Sie dann QFileInfo::permissions(), um die Berechtigungen und den Besitz für jede Datei zu erhalten.

Der Typ Filters ist ein Typedef für QFlags<Filter>. Er speichert eine ODER-Kombination von Filterwerten.

enum QDir::SortFlag
flags QDir::SortFlags

Diese Aufzählung beschreibt die für QDir verfügbaren Sortieroptionen, z.B. für entryList() und entryInfoList(). Der Sortierwert wird durch ODER-Verknüpfung von Werten aus der folgenden Liste angegeben:

KonstanteWertBeschreibung
QDir::Name0x00Nach Name sortieren.
QDir::Time0x01Sortieren nach Zeit (Änderungszeit).
QDir::Size0x02Sortieren nach Dateigröße.
QDir::Type0x80Nach Dateityp (Erweiterung) sortieren.
QDir::Unsorted0x03Nicht sortieren.
QDir::NoSort-1Standardmäßig nicht sortiert.
QDir::DirsFirst0x04Zuerst die Verzeichnisse, dann die Dateien.
QDir::DirsLast0x20Zuerst die Dateien, dann die Verzeichnisse.
QDir::Reversed0x08Die Sortierreihenfolge umkehren.
QDir::IgnoreCase0x10Groß- und Kleinschreibung nicht beachten.
QDir::LocaleAware0x40Sortiert die Elemente entsprechend den aktuellen Gebietsschemaeinstellungen.

Sie können nur eine der ersten vier Möglichkeiten angeben.

Wenn Sie sowohl DirsFirst als auch Reversed angeben, werden die Verzeichnisse trotzdem zuerst sortiert, aber in umgekehrter Reihenfolge; die Dateien werden nach den Verzeichnissen aufgelistet, ebenfalls in umgekehrter Reihenfolge.

Der Typ SortFlags ist ein Typedef für QFlags<SortFlag>. Er speichert eine OR-Kombination von SortFlag-Werten.

Dokumentation der Mitgliedsfunktionen

QDir::QDir(const QString &path = QString())

Konstruiert ein QDir, das auf das angegebene Verzeichnis path zeigt. Wenn path leer ist, wird das Arbeitsverzeichnis des Programms (".") verwendet.

Siehe auch currentPath().

[since 6.0] QDir::QDir(const std::filesystem::path &path)

Konstruiert ein QDir, das auf das angegebene Verzeichnis path zeigt. Wenn path leer ist, wird das Arbeitsverzeichnis des Programms (".") verwendet.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch currentPath().

QDir::QDir(const QString &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries)

Konstruiert ein QDir mit dem Pfad path, das seine Einträge nach Namen mit nameFilter und nach Attributen mit filters filtert. Es sortiert auch die Namen mit sort.

Der Standardwert nameFilter ist ein leerer String, der nichts ausschließt; der Standardwert filters ist AllEntries, der ebenfalls nichts ausschließt. Die Vorgabe sort ist Name | IgnoreCase, d.h. Sortierung nach Namen ohne Berücksichtigung der Groß-/Kleinschreibung.

Wenn path eine leere Zeichenkette ist, verwendet QDir "." (das aktuelle Verzeichnis). Wenn nameFilter eine leere Zeichenkette ist, verwendet QDir den Namensfilter "*" (alle Dateien).

Hinweis: path muss nicht existieren.

Siehe auch exists(), setPath(), setNameFilters(), setFilter(), und setSorting().

[since 6.0] QDir::QDir(const std::filesystem::path &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries)

Konstruiert ein QDir mit dem Pfad path, das seine Einträge nach Namen mit nameFilter und nach Attributen mit filters filtert. Außerdem sortiert es die Namen mit sort.

Der Standardwert nameFilter ist ein leerer String, der nichts ausschließt; der Standardwert filters ist AllEntries, der ebenfalls nichts ausschließt. Die Vorgabe sort ist Name | IgnoreCase, d.h. die Sortierung nach Namen erfolgt case-insensitiv.

Wenn path leer ist, verwendet QDir "." (das aktuelle Verzeichnis). Wenn nameFilter ein leerer String ist, verwendet QDir den Namensfilter "*" (alle Dateien).

Hinweis: path muss nicht existieren.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch exists(), setPath(), setNameFilters(), setFilter(), und setSorting().

QDir::QDir(const QDir &dir)

Konstruiert ein QDir-Objekt, das eine Kopie des QDir-Objekts für das Verzeichnis dir ist.

Siehe auch operator=().

[noexcept] QDir::~QDir()

Zerstört das Objekt QDir und gibt seine Ressourcen frei. Dies hat keine Auswirkungen auf das zugrunde liegende Verzeichnis im Dateisystem.

QString QDir::absoluteFilePath(const QString &fileName) const

Gibt den absoluten Pfadnamen einer Datei im Verzeichnis zurück. Es wird nicht geprüft, ob die Datei tatsächlich im Verzeichnis existiert; siehe aber exists(). Redundante Mehrfachtrennzeichen oder "." und ".." Verzeichnisse in fileName werden nicht entfernt (siehe cleanPath()).

Siehe auch relativeFilePath(), filePath(), und canonicalPath().

QString QDir::absolutePath() const

Gibt den absoluten Pfad zurück (ein Pfad, der mit "/" oder mit einer Laufwerksangabe beginnt), der symbolische Links enthalten kann, aber niemals redundante ".", ".." oder mehrere Trennzeichen enthält.

Siehe auch setPath(), canonicalPath(), exists(), cleanPath(), dirName(), und absoluteFilePath().

[static] void QDir::addSearchPath(const QString &prefix, const QString &path)

Fügt path zum Suchpfad für prefix hinzu.

Siehe auch setSearchPaths().

[static, since 6.0] void QDir::addSearchPath(const QString &prefix, const std::filesystem::path &path)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.0 eingeführt.

QString QDir::canonicalPath() const

Gibt den kanonischen Pfad zurück, d.h. einen Pfad ohne symbolische Links oder überflüssige "."- oder ".."-Elemente.

Auf Systemen ohne symbolische Links gibt diese Funktion immer dieselbe Zeichenkette zurück, die absolutePath() zurückgibt. Existiert der kanonische Pfad nicht (normalerweise aufgrund hängender symbolischer Links), gibt canonicalPath() eine leere Zeichenkette zurück.

Beispiel:

QString bin = "/local/bin";         // where /local/bin is a symlink to /usr/bin
QDir binDir(bin);
QString canonicalBin = binDir.canonicalPath();
// canonicalBin now equals "/usr/bin"

QString ls = "/local/bin/ls";       // where ls is the executable "ls"
QDir lsDir(ls);
QString canonicalLs = lsDir.canonicalPath();
// canonicalLS now equals "/usr/bin/ls".

Siehe auch path(), absolutePath(), exists(), cleanPath(), dirName(), und absoluteFilePath().

bool QDir::cd(const QString &dirName)

Ändert das Verzeichnis von QDir in dirName.

Gibt true zurück, wenn das neue Verzeichnis existiert; andernfalls wird false zurückgegeben. Beachten Sie, dass die logische cd()-Operation nicht ausgeführt wird, wenn das neue Verzeichnis nicht existiert.

Der Aufruf von cd("..") ist äquivalent zum Aufruf von cdUp().

Siehe auch cdUp(), isReadable(), exists(), und path().

bool QDir::cdUp()

Wechselt das Verzeichnis, indem es vom aktuellen Verzeichnis QDir aus ein Verzeichnis nach oben geht.

Gibt true zurück, wenn das neue Verzeichnis existiert; andernfalls wird false zurückgegeben. Beachten Sie, dass die logische cdUp()-Operation nicht ausgeführt wird, wenn das neue Verzeichnis nicht existiert.

Hinweis: Unter Android wird dies für Inhalts-URIs nicht unterstützt. Für weitere Informationen, siehe DocumentFile.getParentFile().

Siehe auch cd(), isReadable(), exists(), und path().

[static] QString QDir::cleanPath(const QString &path)

Gibt path zurück, wobei Verzeichnistrennzeichen normalisiert (d. h. plattformspezifische Trennzeichen in "/" umgewandelt) und überflüssige Trennzeichen entfernt sowie ". "s und ".. "s aufgelöst werden (soweit möglich).

Symbolische Links werden beibehalten. Diese Funktion gibt nicht den kanonischen Pfad zurück, sondern die einfachste Version der Eingabe. Zum Beispiel wird "./local" zu "local", "local/../bin" zu "bin" und "/local/usr/../bin" zu "/local/bin".

Siehe auch absolutePath() und canonicalPath().

qsizetype QDir::count() const

Gibt die Gesamtzahl der Verzeichnisse und Dateien im Verzeichnis zurück.

Äquivalent zu entryList().count().

Hinweis: In Qt-Versionen vor 6.5 gab diese Funktion uint zurück, nicht qsizetype.

Siehe auch operator[]() und entryList().

[static] QDir QDir::current()

Gibt das aktuelle Verzeichnis der Anwendung zurück.

Das Verzeichnis wird unter Verwendung des absoluten Pfads des aktuellen Verzeichnisses erstellt, wodurch sichergestellt wird, dass path() mit absolutePath() übereinstimmt.

Siehe auch currentPath(), setCurrent(), home(), root(), und temp().

[static] QString QDir::currentPath()

Gibt den absoluten Pfad des aktuellen Verzeichnisses der Anwendung zurück. Das aktuelle Verzeichnis ist das zuletzt mit QDir::setCurrent() festgelegte Verzeichnis oder, falls dieses nie aufgerufen wurde, das Verzeichnis, in dem diese Anwendung vom übergeordneten Prozess gestartet wurde.

Siehe auch current(), setCurrent(), homePath(), rootPath(), tempPath(), und QCoreApplication::applicationDirPath().

QString QDir::dirName() const

Gibt den Namen des Verzeichnisses zurück; dieser ist nicht identisch mit dem Pfad, z. B. könnte ein Verzeichnis mit dem Namen "mail" den Pfad "/var/spool/mail" haben. Wenn das Verzeichnis keinen Namen hat (z. B. weil es das Stammverzeichnis ist), wird ein leerer String zurückgegeben.

Es wird nicht geprüft, ob ein Verzeichnis mit diesem Namen tatsächlich existiert; siehe aber exists().

Siehe auch path(), filePath(), absolutePath(), und absoluteFilePath().

[static] QFileInfoList QDir::drives()

Gibt eine Liste der Stammverzeichnisse auf diesem System zurück.

Unter Windows wird eine Liste von QFileInfo Objekten zurückgegeben, die "C:/", "D:/", usw. enthalten. Laufwerke mit auswerfbaren Medien, die leer sind, werden nicht zurückgegeben. Auf anderen Betriebssystemen wird eine Liste zurückgegeben, die nur ein Stammverzeichnis (d.h. "/") enthält.

Siehe auch root() und rootPath().

QFileInfoList QDir::entryInfoList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const

Gibt eine Liste von QFileInfo Objekten für alle Dateien und Verzeichnisse im Verzeichnis zurück, geordnet nach den Namens- und Attributfiltern, die zuvor mit setNameFilters() und setFilter() gesetzt wurden, und sortiert nach den mit setSorting() gesetzten Flags.

Der Namensfilter, der Dateiattributfilter und die Sortierungsspezifikation können mit den Argumenten nameFilters, filters und sort außer Kraft gesetzt werden.

Gibt eine leere Liste zurück, wenn das Verzeichnis nicht lesbar ist, nicht existiert oder wenn nichts mit der Spezifikation übereinstimmt.

Siehe auch entryList(), setNameFilters(), setSorting(), setFilter(), isReadable(), und exists().

QFileInfoList QDir::entryInfoList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const

Dies ist eine überladene Funktion.

Gibt eine Liste von QFileInfo Objekten für alle Dateien und Verzeichnisse im Verzeichnis zurück, geordnet nach den Namens- und Attributfiltern, die zuvor mit setNameFilters() und setFilter() gesetzt wurden, und sortiert nach den mit setSorting() gesetzten Flags.

Die Angaben zu den Attributfiltern und zur Sortierung können mit den Argumenten filters und sort außer Kraft gesetzt werden.

Gibt eine leere Liste zurück, wenn das Verzeichnis nicht lesbar ist, nicht existiert oder wenn nichts mit der Spezifikation übereinstimmt.

Siehe auch entryList(), setNameFilters(), setSorting(), setFilter(), isReadable(), und exists().

QStringList QDir::entryList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const

Gibt eine Liste der Namen aller Dateien und Verzeichnisse im Verzeichnis zurück, geordnet nach den Namens- und Attributfiltern, die zuvor mit setNameFilters() und setFilter() gesetzt wurden, und sortiert nach den mit setSorting() gesetzten Flags.

Der Namensfilter, der Dateiattributfilter und die Sortierungsspezifikation können mit den Argumenten nameFilters, filters und sort außer Kraft gesetzt werden.

Gibt eine leere Liste zurück, wenn das Verzeichnis nicht lesbar ist, nicht existiert oder wenn nichts mit der Spezifikation übereinstimmt.

Siehe auch entryInfoList(), setNameFilters(), setSorting(), und setFilter().

QStringList QDir::entryList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const

Dies ist eine überladene Funktion.

Gibt eine Liste der Namen aller Dateien und Verzeichnisse im Verzeichnis zurück, geordnet nach den Namens- und Attributfiltern, die zuvor mit setNameFilters() und setFilter() gesetzt wurden, und sortiert nach den mit setSorting() gesetzten Flags.

Die Angaben zu den Attributfiltern und zur Sortierung können mit den Argumenten filters und sort außer Kraft gesetzt werden.

Gibt eine leere Liste zurück, wenn das Verzeichnis nicht lesbar ist, nicht existiert oder wenn nichts mit der Spezifikation übereinstimmt.

Hinweis: Um Symlinks aufzulisten, die auf nicht existierende Dateien zeigen, muss System an den Filter übergeben werden.

Siehe auch entryInfoList(), setNameFilters(), setSorting(), und setFilter().

bool QDir::exists(const QString &name) const

Gibt true zurück, wenn die Datei mit dem Namen name existiert; andernfalls wird false zurückgegeben.

Sofern name keinen absoluten Dateipfad enthält, wird angenommen, dass der Dateiname relativ zum Verzeichnis selbst ist, so dass diese Funktion typischerweise verwendet wird, um das Vorhandensein von Dateien innerhalb eines Verzeichnisses zu prüfen.

Siehe auch QFileInfo::exists() und QFile::exists().

bool QDir::exists() const

Dies ist eine überladene Funktion.

Gibt true zurück, wenn das Verzeichnis existiert; andernfalls gibt sie false zurück. (Wenn eine Datei mit demselben Namen gefunden wird, gibt diese Funktion false zurück).

Die Überladung dieser Funktion, die ein Argument akzeptiert, wird verwendet, um auf das Vorhandensein von Dateien und Verzeichnissen innerhalb eines Verzeichnisses zu prüfen.

Siehe auch QFileInfo::exists() und QFile::exists().

QString QDir::filePath(const QString &fileName) const

Gibt den Pfadnamen einer Datei im Verzeichnis zurück. Überprüft nicht, ob die Datei tatsächlich im Verzeichnis existiert; siehe aber exists(). Wenn QDir relativ ist, wird der zurückgegebene Pfadname ebenfalls relativ sein. Redundante Mehrfachtrennzeichen oder "." und ".." Verzeichnisse in fileName werden nicht entfernt (siehe cleanPath()).

Siehe auch dirName(), absoluteFilePath(), isRelative(), und canonicalPath().

[since 6.0] std::filesystem::path QDir::filesystemAbsolutePath() const

Gibt absolutePath() als std::filesystem::path zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch absolutePath().

[since 6.0] std::filesystem::path QDir::filesystemCanonicalPath() const

Gibt canonicalPath() als std::filesystem::path zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch canonicalPath().

[since 6.0] std::filesystem::path QDir::filesystemPath() const

Gibt path() als std::filesystem::path zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch path().

QDir::Filters QDir::filter() const

Gibt den durch setFilter() gesetzten Wert zurück.

Siehe auch setFilter().

[static] QString QDir::fromNativeSeparators(const QString &pathName)

Gibt pathName unter Verwendung von '/' als Dateitrennzeichen zurück. Unter Windows zum Beispiel gibt fromNativeSeparators("c:\\winnt\\system32") "c:/winnt/system32" zurück.

Auf einigen Betriebssystemen, z. B. Unix, kann die zurückgegebene Zeichenkette mit dem Argument identisch sein.

Siehe auch toNativeSeparators() und separator().

[static] QDir QDir::home()

Gibt das Heimatverzeichnis des Benutzers zurück.

Das Verzeichnis wird unter Verwendung des absoluten Pfads des Heimatverzeichnisses erstellt, wodurch sichergestellt wird, dass path() mit absolutePath() identisch ist.

Siehe homePath() für Details.

Siehe auch drives(), current(), root(), und temp().

[static] QString QDir::homePath()

Gibt den absoluten Pfad des Home-Verzeichnisses des Benutzers zurück.

Unter Windows gibt diese Funktion das Verzeichnis des Profils des aktuellen Benutzers zurück. Normalerweise ist dies:

C:/Users/Username

Verwenden Sie die Funktion toNativeSeparators(), um die Trennzeichen in diejenigen umzuwandeln, die für das zugrunde liegende Betriebssystem geeignet sind.

Wenn das Verzeichnis des Profils des aktuellen Benutzers nicht existiert oder nicht abgerufen werden kann, werden die folgenden Alternativen geprüft (in der angegebenen Reihenfolge), bis ein vorhandener und verfügbarer Pfad gefunden wird:

  1. Der durch die Umgebungsvariable USERPROFILE angegebene Pfad.
  2. Der Pfad, der sich aus der Verkettung der Umgebungsvariablen HOMEDRIVE und HOMEPATH ergibt.
  3. Der durch die Umgebungsvariable HOME angegebene Pfad.
  4. Der Pfad, der von der Funktion rootPath() zurückgegeben wird (die die Umgebungsvariable SystemDrive verwendet)
  5. Das Verzeichnis C:/.

Unter Nicht-Windows-Betriebssystemen wird die Umgebungsvariable HOME verwendet, wenn sie existiert, andernfalls der von rootPath() zurückgegebene Pfad.

Siehe auch home(), currentPath(), rootPath(), und tempPath().

bool QDir::isAbsolute() const

Gibt true zurück, wenn der Pfad des Verzeichnisses absolut ist; andernfalls wird false zurückgegeben. Siehe isAbsolutePath().

Hinweis: Pfade, die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein QResource bezeichnen.

Siehe auch isRelative(), makeAbsolute(), und cleanPath().

[static] bool QDir::isAbsolutePath(const QString &path)

Gibt true zurück, wenn path absolut ist; gibt false zurück, wenn es relativ ist.

Hinweis: Pfade, die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein QResource bezeichnen.

Siehe auch isAbsolute(), isRelativePath(), makeAbsolute(), cleanPath(), und QResource.

bool QDir::isEmpty(QDir::Filters filters = Filters(AllEntries | NoDotAndDotDot)) const

Gibt zurück, ob das Verzeichnis leer ist.

Entspricht count() == 0 mit den Filtern QDir::AllEntries | QDir::NoDotAndDotDot, ist aber schneller, da nur geprüft wird, ob das Verzeichnis mindestens einen Eintrag enthält.

Hinweis: Sofern Sie die filters -Flags nicht so setzen, dass sie QDir::NoDotAndDotDot einschließen (wie es der Standardwert tut), ist kein Verzeichnis leer.

Siehe auch count(), entryList(), und setFilter().

bool QDir::isReadable() const

Gibt true zurück, wenn das Verzeichnis lesbar ist und wir Dateien nach Namen öffnen können; andernfalls wird false zurückgegeben.

Warnung: Ein falscher Wert dieser Funktion ist keine Garantie dafür, dass die Dateien im Verzeichnis nicht zugänglich sind.

Siehe auch QFileInfo::isReadable().

bool QDir::isRelative() const

Gibt true zurück, wenn der Verzeichnispfad relativ ist; andernfalls wird false zurückgegeben. (Unter Unix ist ein Pfad relativ, wenn er nicht mit einem "/" beginnt).

Hinweis: Pfade, die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein QResource bezeichnen.

Siehe auch makeAbsolute(), isAbsolute(), isAbsolutePath(), und cleanPath().

[static] bool QDir::isRelativePath(const QString &path)

Gibt true zurück, wenn path relativ ist; gibt false zurück, wenn es absolut ist.

Hinweis: Pfade, die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein QResource bezeichnen.

Siehe auch isRelative(), isAbsolutePath(), und makeAbsolute().

bool QDir::isRoot() const

Gibt true zurück, wenn das Verzeichnis das Stammverzeichnis ist; andernfalls wird false zurückgegeben.

Hinweis: Wenn das Verzeichnis ein symbolischer Link auf das Stammverzeichnis ist, gibt diese Funktion false zurück. Wenn Sie dies testen wollen, verwenden Sie canonicalPath(), z.B.

QDir dir("/tmp/root_link"); dir = dir.canonicalPath();if (dir.isRoot())    qWarning("It is a root link");

Siehe auch root() und rootPath().

[static constexpr noexcept] QChar QDir::listSeparator()

Gibt das native Pfadlisten-Trennzeichen zurück: ':' unter Unix und ';' unter Windows.

Siehe auch separator().

bool QDir::makeAbsolute()

Konvertiert den Verzeichnispfad in einen absoluten Pfad. Wenn er bereits absolut ist, passiert nichts. Gibt true zurück, wenn die Umwandlung erfolgreich war; andernfalls false.

Siehe auch isAbsolute(), isAbsolutePath(), isRelative(), und cleanPath().

[static] bool QDir::match(const QString &filter, const QString &fileName)

Gibt true zurück, wenn fileName mit dem Platzhaltermuster (glob) filter übereinstimmt; andernfalls wird false zurückgegeben. filter kann mehrere durch Leerzeichen oder Semikolon getrennte Muster enthalten. Bei der Suche wird die Groß- und Kleinschreibung nicht berücksichtigt.

Siehe auch QRegularExpression::fromWildcard(), entryList(), und entryInfoList().

[static] bool QDir::match(const QStringList &filters, const QString &fileName)

Dies ist eine überladene Funktion.

Gibt true zurück, wenn fileName mit einem der Platzhaltermuster (glob) in der Liste von filters übereinstimmt; andernfalls gibt sie false zurück. Die Groß- und Kleinschreibung wird nicht berücksichtigt.

Siehe auch QRegularExpression::fromWildcard(), entryList(), und entryInfoList().

[since 6.3] bool QDir::mkdir(const QString &dirName, QFileDevice::Permissions permissions) const

Erzeugt ein Unterverzeichnis namens dirName.

Bei Erfolg wird true zurückgegeben, andernfalls false.

Wenn das Verzeichnis bereits existiert, wenn diese Funktion aufgerufen wird, gibt sie false zurück.

Die Berechtigungen für das erstellte Verzeichnis werden auf permissions gesetzt.

Auf POSIX-Systemen werden die Berechtigungen durch den Wert von umask beeinflusst.

Unter Windows werden die Berechtigungen durch ACLs emuliert. Diese ACLs können in nicht-kanonischer Reihenfolge sein, wenn der Gruppe weniger Rechte als anderen gewährt werden. Dateien und Verzeichnisse mit solchen Berechtigungen erzeugen Warnungen, wenn die Registerkarte Sicherheit im Dialogfeld Eigenschaften geöffnet wird. Wenn Sie der Gruppe alle Rechte gewähren, die anderen gewährt werden, werden solche Warnungen vermieden.

Diese Funktion wurde in Qt 6.3 eingeführt.

Siehe auch rmdir().

bool QDir::mkdir(const QString &dirName) const

Dies ist eine überladene Funktion.

Erzeugt ein Unterverzeichnis namens dirName mit Standardberechtigungen.

Auf POSIX-Systemen werden standardmäßig alle von umask erlaubten Berechtigungen gewährt. Unter Windows erbt das neue Verzeichnis seine Berechtigungen von seinem Elternverzeichnis.

bool QDir::mkpath(const QString &dirPath) const

Erzeugt den Verzeichnispfad dirPath.

Die Funktion erstellt alle übergeordneten Verzeichnisse, die zum Erstellen des Verzeichnisses erforderlich sind.

Bei Erfolg wird true zurückgegeben, andernfalls false.

Wenn der Pfad bereits existiert, wenn diese Funktion aufgerufen wird, gibt sie true zurück.

Siehe auch rmpath().

QStringList QDir::nameFilters() const

Gibt die durch setNameFilters() gesetzte Stringliste zurück.

Siehe auch setNameFilters().

QString QDir::path() const

Gibt den Pfad zurück. Dieser kann symbolische Links enthalten, darf aber niemals überflüssige ".", ".." oder mehrere Trennzeichen enthalten.

Der zurückgegebene Pfad kann entweder absolut oder relativ sein (siehe setPath()).

Siehe auch setPath(), absolutePath(), exists(), cleanPath(), dirName(), absoluteFilePath(), toNativeSeparators(), und makeAbsolute().

void QDir::refresh() const

Aktualisiert die Verzeichnisinformationen.

QString QDir::relativeFilePath(const QString &fileName) const

Gibt den Pfad zu fileName relativ zum Verzeichnis zurück.

QDir dir("/home/bob");
QString s;

s = dir.relativeFilePath("images/file.jpg");     // s is "images/file.jpg"
s = dir.relativeFilePath("/home/mary/file.txt"); // s is "../mary/file.txt"

Siehe auch absoluteFilePath(), filePath(), und canonicalPath().

bool QDir::remove(const QString &fileName)

Entfernt die Datei, fileName.

Gibt true zurück, wenn die Datei erfolgreich entfernt wurde; andernfalls wird false zurückgegeben.

bool QDir::removeRecursively()

Entfernt das Verzeichnis einschließlich seines gesamten Inhalts.

Gibt bei Erfolg true zurück, andernfalls false.

Wenn eine Datei oder ein Verzeichnis nicht entfernt werden kann, macht removeRecursively() weiter und versucht, so viele Dateien und Unterverzeichnisse wie möglich zu löschen, und gibt dann false zurück.

Wenn das Verzeichnis bereits entfernt wurde, gibt die Methode true zurück (erwartetes Ergebnis bereits erreicht).

Hinweis: Diese Funktion ist für das Löschen eines kleinen anwendungsinternen Verzeichnisses (z. B. eines temporären Verzeichnisses) gedacht, aber nicht für Verzeichnisse, die für den Benutzer sichtbar sind. Bei für den Benutzer sichtbaren Operationen empfiehlt es sich vielmehr, dem Benutzer Fehler genauer zu melden, im Fehlerfall Lösungen anzubieten, den Fortschritt während des Löschvorgangs anzuzeigen, da dieser mehrere Minuten dauern kann, usw.

bool QDir::rename(const QString &oldName, const QString &newName)

Benennt eine Datei oder ein Verzeichnis von oldName nach newName um und gibt bei Erfolg true zurück, andernfalls false.

Auf den meisten Dateisystemen schlägt rename() nur fehl, wenn oldName nicht existiert oder wenn eine Datei mit dem neuen Namen bereits existiert. Es gibt jedoch auch andere Gründe, warum rename() fehlschlagen kann. Zum Beispiel schlägt rename() auf mindestens einem Dateisystem fehl, wenn newName auf eine offene Datei zeigt.

Wenn oldName eine Datei (kein Verzeichnis) ist, die nicht sofort umbenannt werden kann, wird Qt versuchen, oldName nach newName zu kopieren und oldName zu entfernen.

Siehe auch QFile::rename().

bool QDir::rmdir(const QString &dirName) const

Entfernt das durch dirName angegebene Verzeichnis.

Das Verzeichnis muss leer sein, damit rmdir() erfolgreich ist.

Gibt bei Erfolg true zurück, andernfalls false.

Siehe auch mkdir().

bool QDir::rmpath(const QString &dirPath) const

Entfernt den Verzeichnispfad dirPath.

Die Funktion entfernt alle übergeordneten Verzeichnisse in dirPath, sofern sie leer sind. Dies ist das Gegenteil von mkpath(dirPath).

Gibt bei Erfolg true zurück, andernfalls false.

Siehe auch mkpath().

[static] QDir QDir::root()

Gibt das Stammverzeichnis zurück.

Das Verzeichnis wird unter Verwendung des absoluten Pfads des Stammverzeichnisses erstellt, wodurch sichergestellt wird, dass sein path() dasselbe ist wie sein absolutePath().

Siehe rootPath() für Details.

Siehe auch drives(), current(), home(), und temp().

[static] QString QDir::rootPath()

Gibt den absoluten Pfad des Stammverzeichnisses zurück.

Bei Unix-Betriebssystemen wird "/" zurückgegeben. Bei Windows-Dateisystemen wird normalerweise "c:/" zurückgegeben.

Siehe auch root(), drives(), currentPath(), homePath(), und tempPath().

[static] QStringList QDir::searchPaths(const QString &prefix)

Gibt die Suchpfade für prefix zurück.

Siehe auch setSearchPaths() und addSearchPath().

[static] QChar QDir::separator()

Gibt das native Verzeichnis-Trennzeichen zurück: "/" unter Unix und "\" unter Windows.

Sie müssen diese Funktion nicht verwenden, um Dateipfade zu erstellen. Wenn Sie immer "/" verwenden, wird Qt Ihre Pfade so übersetzen, dass sie dem zugrunde liegenden Betriebssystem entsprechen. Wenn Sie dem Benutzer die Pfade mit dem Trennzeichen seines Betriebssystems anzeigen wollen, verwenden Sie toNativeSeparators().

Siehe auch listSeparator().

[static] bool QDir::setCurrent(const QString &path)

Setzt das aktuelle Arbeitsverzeichnis der Anwendung auf path. Gibt true zurück, wenn das Verzeichnis erfolgreich gewechselt wurde; andernfalls false.

QString absolute = "/local/bin";
QString relative = "local/bin";
QFileInfo absFile(absolute);
QFileInfo relFile(relative);

QDir::setCurrent(QDir::rootPath());
// absFile and relFile now point to the same file

QDir::setCurrent("/tmp");
// absFile now points to "/local/bin",
// while relFile points to "/tmp/local/bin"

Siehe auch current(), currentPath(), home(), root(), und temp().

void QDir::setFilter(QDir::Filters filters)

Setzt den von entryList() und entryInfoList() verwendeten Filter auf filters. Der Filter wird verwendet, um die Art der Dateien anzugeben, die von entryList() und entryInfoList() zurückgegeben werden sollen. Siehe QDir::Filter.

Siehe auch filter() und setNameFilters().

void QDir::setNameFilters(const QStringList &nameFilters)

Setzt die von entryList() und entryInfoList() verwendeten Namensfilter auf die von nameFilters angegebene Liste von Filtern.

Jeder Namensfilter ist ein Wildcard-Filter (globbing), der die Wildcards * und ? versteht. Siehe QRegularExpression::fromWildcard().

Der folgende Code setzt zum Beispiel drei Namensfilter auf QDir, um sicherzustellen, dass nur Dateien mit Erweiterungen aufgelistet werden, die typischerweise für C++-Quelldateien verwendet werden:

    QStringList filters;
    filters << "*.cpp" << "*.cxx" << "*.cc";
    dir.setNameFilters(filters);

Siehe auch nameFilters() und setFilter().

void QDir::setPath(const QString &path)

Setzt den Pfad des Verzeichnisses auf path. Der Pfad wird von überflüssigen ".", ".." und von mehrfachen Trennzeichen bereinigt. Es wird nicht geprüft, ob ein Verzeichnis mit diesem Pfad tatsächlich existiert; Sie können dies jedoch mit exists() selbst überprüfen.

Der Pfad kann entweder absolut oder relativ sein. Absolute Pfade beginnen mit dem Verzeichnistrennzeichen "/" (unter Windows optional mit vorangestellter Laufwerksangabe). Relative Dateinamen beginnen mit einem Verzeichnisnamen oder einem Dateinamen und geben einen Pfad relativ zum aktuellen Verzeichnis an. Ein Beispiel für einen absoluten Pfad ist die Zeichenfolge "/tmp/quartz", ein relativer Pfad könnte wie "src/fatlib" aussehen.

Siehe auch path(), absolutePath(), exists(), cleanPath(), dirName(), absoluteFilePath(), isRelative(), und makeAbsolute().

[since 6.0] void QDir::setPath(const std::filesystem::path &path)

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.0 eingeführt.

[static] void QDir::setSearchPaths(const QString &prefix, const QStringList &searchPaths)

Setzt oder ersetzt die Suchpfade von Qt für Dateinamen mit dem Präfix prefix bis searchPaths.

Um ein Präfix für einen Dateinamen anzugeben, stellen Sie das Präfix gefolgt von einem einzelnen Doppelpunkt voran (z.B. "images:undo.png", "xmldocs:books.xml"). prefix kann nur Buchstaben oder Zahlen enthalten (d.h. es kann weder einen Doppelpunkt noch einen Schrägstrich enthalten).

Qt verwendet diesen Suchpfad, um Dateien mit einem bekannten Präfix zu finden. Die Suchpfad-Einträge werden der Reihe nach getestet, beginnend mit dem ersten Eintrag.

QDir::setSearchPaths("icons", QStringList(QDir::homePath() + "/images"));
QDir::setSearchPaths("docs", QStringList(":/embeddedDocuments"));
...
QPixmap pixmap("icons:undo.png"); // will look for undo.png in QDir::homePath() + "/images"
QFile file("docs:design.odf"); // will look in the :/embeddedDocuments resource path

Das Präfix des Dateinamens muss mindestens 2 Zeichen lang sein, um Konflikte mit Windows-Laufwerksbuchstaben zu vermeiden.

Suchpfade können Pfade zu The Qt Resource System enthalten.

Siehe auch searchPaths().

void QDir::setSorting(QDir::SortFlags sort)

Legt die von entryList() und entryInfoList() verwendete Sortierreihenfolge fest.

Die sort wird durch ODER-Verknüpfung von Werten aus der Aufzählung QDir::SortFlag angegeben.

Siehe auch sorting() und SortFlag.

QDir::SortFlags QDir::sorting() const

Gibt den mit setSorting() gesetzten Wert zurück.

Siehe auch setSorting() und SortFlag.

[noexcept] void QDir::swap(QDir &other)

Tauscht diese QDir Instanz mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

[static] QDir QDir::temp()

Gibt das temporäre Verzeichnis des Systems zurück.

Das Verzeichnis wird unter Verwendung des absoluten kanonischen Pfades des temporären Verzeichnisses erstellt, wodurch sichergestellt wird, dass path() mit absolutePath() identisch ist.

Siehe tempPath() für Details.

Siehe auch drives(), current(), home(), und root().

[static] QString QDir::tempPath()

Gibt den absoluten kanonischen Pfad des temporären Verzeichnisses des Systems zurück.

Auf Unix/Linux-Systemen ist dies der Pfad in der Umgebungsvariablen TMPDIR oder /tmp, wenn TMPDIR nicht definiert ist. Unter Windows ist dies normalerweise der Pfad in der Umgebungsvariablen TEMP oder TMP. Der von dieser Methode zurückgegebene Pfad endet nicht mit einem Verzeichnis-Trennzeichen, es sei denn, es handelt sich um das Stammverzeichnis (eines Laufwerks).

Siehe auch temp(), currentPath(), homePath(), und rootPath().

[static] QString QDir::toNativeSeparators(const QString &pathName)

Gibt pathName zurück, wobei die '/'-Trennzeichen in Trennzeichen umgewandelt werden, die für das zugrunde liegende Betriebssystem geeignet sind.

Unter Windows gibt toNativeSeparators("c:/winnt/system32") "c:\winnt\system32" zurück.

Die zurückgegebene Zeichenkette kann auf einigen Betriebssystemen, z. B. auf Unix, mit dem Argument übereinstimmen.

Siehe auch fromNativeSeparators() und separator().

[noexcept] QDir &QDir::operator=(QDir &&other)

Verschieben - weist other dieser QDir Instanz zu.

QDir &QDir::operator=(const QDir &dir)

Erstellt eine Kopie des Objekts dir und ordnet sie diesem Objekt QDir zu.

QString QDir::operator[](qsizetype pos) const

Gibt den Dateinamen an der Position pos in der Liste der Dateinamen zurück. Äquivalent zu entryList().at(index). pos muss eine gültige Indexposition in der Liste sein (d.h. 0 <= pos < count()).

Hinweis: In Qt-Versionen vor 6.5 war pos ein int, nicht qsizetype.

Siehe auch count() und entryList().

Verwandte Nicht-Mitglieder

[noexcept] bool operator!=(const QDir &lhs, const QDir &rhs)

Gibt true zurück, wenn das Verzeichnis lhs und das Verzeichnis rhs unterschiedliche Pfade oder unterschiedliche Sortier- oder Filtereinstellungen haben; andernfalls wird false zurückgegeben.

Beispiel:

// Das aktuelle Verzeichnis ist "/usr/local"QDir d1("/usr/local/bin"); d1.setFilter(QDir::Executable);QDir d2("bin");if (d1 != d2)    qDebug("They differ");

[noexcept] bool operator==(const QDir &lhs, const QDir &rhs)

Gibt true zurück, wenn die Verzeichnisse lhs und rhs denselben Pfad haben und ihre Sortier- und Filtereinstellungen übereinstimmen; andernfalls wird false zurückgegeben.

Beispiel:

// Das aktuelle Verzeichnis ist "/usr/local"QDir d1("/usr/local/bin");QDir d2("bin");if (d1 == d2)    qDebug("They're the same");

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.