QTemporaryDir Class

Die Klasse QTemporaryDir erstellt ein eindeutiges Verzeichnis zur temporären Verwendung. Mehr...

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

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

QTemporaryDir()
QTemporaryDir(const QString &templatePath)
(since 6.4) QTemporaryDir(QTemporaryDir &&other)
~QTemporaryDir()
bool autoRemove() const
QString errorString() const
QString filePath(const QString &fileName) const
bool isValid() const
QString path() const
bool remove()
void setAutoRemove(bool b)
(since 6.4) void swap(QTemporaryDir &other)
(since 6.4) QTemporaryDir &operator=(QTemporaryDir &&other)

Detaillierte Beschreibung

QTemporaryDir wird verwendet, um eindeutige temporäre Verzeichnisse sicher zu erstellen. Das Verzeichnis selbst wird durch den Konstruktor erzeugt. Der Name des temporären Verzeichnisses ist garantiert eindeutig (d.h. es wird garantiert kein bestehendes Verzeichnis überschrieben), und das Verzeichnis wird anschließend bei der Zerstörung des QTemporaryDir-Objekts entfernt. Der Name des Verzeichnisses wird entweder automatisch generiert oder basierend auf einer Vorlage erstellt, die dem Konstruktor von QTemporaryDir übergeben wird.

Beispiel:

    // Within a function/method...

    QTemporaryDir dir;
    if (dir.isValid()) {
        // dir.path() returns the unique directory path
    }

    // The QTemporaryDir destructor removes the temporary directory
    // as it goes out of scope.

Es ist sehr wichtig zu testen, dass das temporäre Verzeichnis mit isValid() erstellt werden kann. Verwenden Sie nicht exists(), da ein standardmäßig konstruiertes QDir das aktuelle Verzeichnis repräsentiert, das existiert.

Der Pfad zum temporären Verzeichnis kann durch den Aufruf von path() ermittelt werden.

Ein temporäres Verzeichnis hat einen statischen Teil des Namens und einen Teil, der so berechnet wird, dass er eindeutig ist. Der Standardpfad wird von QCoreApplication::applicationName() ermittelt (andernfalls qt_temp) und in den temporären Pfad eingefügt, der von QDir::tempPath() zurückgegeben wird. Wenn Sie einen eigenen Pfad angeben, wird nicht standardmäßig ein relativer Pfad in das temporäre Verzeichnis eingefügt, sondern ein relativer Pfad zum aktuellen Arbeitsverzeichnis. In allen Fällen wird eine zufällige Zeichenfolge an den Pfad angehängt, um ihn eindeutig zu machen.

Siehe auch QDir::tempPath(), QDir, und QTemporaryFile.

Dokumentation der Mitgliedsfunktionen

QTemporaryDir::QTemporaryDir()

Konstruiert ein QTemporaryDir mit dem von QCoreApplication::applicationName() zurückgegebenen Anwendungsnamen als Vorlage (sonst qt_temp). Das Verzeichnis wird im temporären Verzeichnis des Systems gespeichert, QDir::tempPath().

Siehe auch QDir::tempPath().

[explicit] QTemporaryDir::QTemporaryDir(const QString &templatePath)

Konstruiert ein QTemporaryDir mit einer Vorlage von templatePath.

Wenn templatePath ein relativer Pfad ist, wird der Pfad relativ zum aktuellen Arbeitsverzeichnis sein. Sie können QDir::tempPath() verwenden, um templatePath zu erstellen, wenn Sie das temporäre Verzeichnis des Systems verwenden möchten.

Wenn templatePath mit XXXXXX endet, wird es als dynamischer Teil des Verzeichnisnamens verwendet, ansonsten wird es angehängt. Im Gegensatz zu QTemporaryFile wird XXXXXX in der Mitte des Template-Strings nicht unterstützt.

Siehe auch QDir::tempPath().

[noexcept, since 6.4] QTemporaryDir::QTemporaryDir(QTemporaryDir &&other)

Move-konstruiert ein neues QTemporaryDir aus other.

Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Wertes sind.

Diese Funktion wurde in Qt 6.4 eingeführt.

[noexcept] QTemporaryDir::~QTemporaryDir()

Zerstört das temporäre Verzeichnisobjekt. Wenn der automatische Löschmodus eingestellt wurde, wird das Verzeichnis einschließlich seines gesamten Inhalts automatisch gelöscht.

Siehe auch autoRemove().

bool QTemporaryDir::autoRemove() const

Gibt true zurück, wenn sich QTemporaryDir im Modus "Automatisches Entfernen" befindet. Im Modus "Automatisches Entfernen" wird das Verzeichnis bei der Zerstörung automatisch von der Festplatte gelöscht. Dies macht es sehr einfach, Ihr QTemporaryDir Objekt auf dem Stack zu erstellen, es mit Dateien zu füllen, etwas mit den Dateien zu tun und schließlich bei der Rückkehr der Funktion automatisch hinter sich aufzuräumen.

Auto-remove ist standardmäßig aktiviert.

Siehe auch setAutoRemove() und remove().

QString QTemporaryDir::errorString() const

Wenn isValid() false zurückgibt, gibt diese Funktion die Fehlerzeichenfolge zurück, die erklärt, warum die Erstellung des temporären Verzeichnisses fehlgeschlagen ist. Andernfalls gibt diese Funktion eine leere Zeichenkette zurück.

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

Gibt den Pfadnamen einer Datei im temporären Verzeichnis zurück. Es wird nicht geprüft, ob die Datei tatsächlich in dem Verzeichnis existiert. Redundante Mehrfachtrennzeichen oder "." und ".." Verzeichnisse in fileName werden nicht entfernt (siehe QDir::cleanPath()). Absolute Pfade sind nicht erlaubt.

Der zurückgegebene Pfad ist relativ oder absolut, je nachdem, ob QTemporaryDir mit einem relativen oder absoluten Pfad erstellt wurde.

bool QTemporaryDir::isValid() const

Gibt true zurück, wenn die QTemporaryDir erfolgreich erstellt wurde.

QString QTemporaryDir::path() const

Gibt den Pfad zum temporären Verzeichnis zurück. Leer, wenn das QTemporaryDir nicht erstellt werden konnte.

Der zurückgegebene Pfad ist relativ oder absolut, je nachdem, ob QTemporaryDir mit einem relativen bzw. absoluten Pfad erstellt wurde.

bool QTemporaryDir::remove()

Entfernt das temporäre Verzeichnis einschließlich seines gesamten Inhalts.

Gibt true zurück, wenn das Entfernen erfolgreich war.

void QTemporaryDir::setAutoRemove(bool b)

Setzt QTemporaryDir in den Modus "Automatisches Entfernen", wenn b wahr ist.

Automatisches Entfernen ist standardmäßig aktiviert.

Siehe auch autoRemove() und remove().

[noexcept, since 6.4] void QTemporaryDir::swap(QTemporaryDir &other)

Tauscht dieses temporäre Verzeichnis mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

Diese Funktion wurde in Qt 6.4 eingeführt.

[noexcept, since 6.4] QTemporaryDir &QTemporaryDir::operator=(QTemporaryDir &&other)

Verschieben - weist other dieser QTemporaryDir Instanz zu.

Hinweis: Das verschobene Objekt other wird in einen teilweise gebildeten Zustand versetzt, in dem die einzigen gültigen Operationen Zerstörung und Zuweisung eines neuen Wertes sind.

Diese Funktion wurde in Qt 6.4 eingeführt.

© 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.