Sur cette page

QTemporaryDir Class

La classe QTemporaryDir crée un répertoire unique à usage temporaire. Plus d'informations...

En-tête : #include <QTemporaryDir>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

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)

Description détaillée

QTemporaryDir est utilisé pour créer des répertoires temporaires uniques en toute sécurité. Le répertoire lui-même est créé par le constructeur. Le nom du répertoire temporaire est garanti unique (c'est-à-dire que vous êtes assuré de ne pas écraser un répertoire existant), et le répertoire sera ensuite supprimé lors de la destruction de l'objet QTemporaryDir. Le nom du répertoire est soit généré automatiquement, soit créé sur la base d'un modèle, qui est transmis au constructeur de QTemporaryDir.

Exemple :

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

Il est très important de tester que le répertoire temporaire peut être créé en utilisant isValid(). N'utilisez pas exists(), car une construction par défaut QDir représente le répertoire actuel, qui existe.

Le chemin vers le répertoire temporaire peut être trouvé en appelant path().

Un répertoire temporaire aura une partie statique du nom et une partie calculée pour être unique. Le chemin par défaut sera déterminé par QCoreApplication::applicationName() (sinon qt_temp) et sera placé dans le chemin temporaire renvoyé par QDir::tempPath(). Si vous spécifiez votre propre chemin, un chemin relatif ne sera pas placé dans le répertoire temporaire par défaut, mais sera relatif au répertoire de travail actuel. Dans tous les cas, une chaîne aléatoire sera ajoutée au chemin afin de le rendre unique.

Voir aussi QDir::tempPath(), QDir, et QTemporaryFile.

Documentation des fonctions membres

QTemporaryDir::QTemporaryDir()

Construit un QTemporaryDir en utilisant comme modèle le nom de l'application renvoyé par QCoreApplication::applicationName() (sinon qt_temp). Le répertoire est stocké dans le répertoire temporaire du système, QDir::tempPath().

Voir aussi QDir::tempPath().

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

Construit un QTemporaryDir avec un modèle de templatePath.

Si templatePath est un chemin relatif, le chemin sera relatif au répertoire de travail actuel. Vous pouvez utiliser QDir::tempPath() pour construire templatePath si vous souhaitez utiliser le répertoire temporaire du système.

Si le templatePath se termine par XXXXXX, il sera utilisé comme partie dynamique du nom du répertoire, sinon il sera ajouté. Contrairement à QTemporaryFile, XXXXXX au milieu de la chaîne du modèle n'est pas supporté.

Voir aussi QDir::tempPath().

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

Move-construit un nouveau QTemporaryDir à partir de other.

Note : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'assignation d'une nouvelle valeur.

Cette fonction a été introduite dans Qt 6.4.

[noexcept] QTemporaryDir::~QTemporaryDir()

Détruit l'objet répertoire temporaire. Si le mode de suppression automatique a été défini, le répertoire sera automatiquement supprimé, ainsi que tout son contenu.

Voir aussi autoRemove().

bool QTemporaryDir::autoRemove() const

Renvoie true si QTemporaryDir est en mode de suppression automatique. Ce mode supprime automatiquement le répertoire du disque lors de sa destruction. Il est donc très facile de créer votre objet QTemporaryDir sur la pile, de le remplir de fichiers, de faire quelque chose avec les fichiers, et enfin, au retour de la fonction, de le nettoyer automatiquement.

La fonction Auto-remove est activée par défaut.

Voir aussi setAutoRemove() et remove().

QString QTemporaryDir::errorString() const

Si isValid() renvoie false, cette fonction renvoie la chaîne d'erreur qui explique pourquoi la création du répertoire temporaire a échoué. Sinon, cette fonction renvoie une chaîne vide.

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

Renvoie le nom du chemin d'accès d'un fichier dans le répertoire temporaire. Il ne vérifie pas si le fichier existe réellement dans le répertoire. Les séparateurs multiples redondants ou les répertoires "." et ".." dans fileName ne sont pas supprimés (voir QDir::cleanPath()). Les chemins d'accès absolus ne sont pas autorisés.

Le chemin retourné sera relatif ou absolu selon que QTemporaryDir a été construit avec un chemin relatif ou absolu, respectivement.

bool QTemporaryDir::isValid() const

Renvoie true si le site QTemporaryDir a été créé avec succès.

QString QTemporaryDir::path() const

Renvoie le chemin d'accès au répertoire temporaire. Vide si QTemporaryDir n'a pas pu être créé.

Le chemin retourné sera relatif ou absolu selon que QTemporaryDir a été construit avec un chemin relatif ou absolu, respectivement.

bool QTemporaryDir::remove()

Supprime le répertoire temporaire, y compris tout son contenu.

Retourne true si la suppression a été effectuée avec succès.

void QTemporaryDir::setAutoRemove(bool b)

Met le site QTemporaryDir en mode de suppression automatique si b est vrai.

La suppression automatique est activée par défaut.

Voir aussi autoRemove() et remove().

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

Remplace ce répertoire temporaire par other. Cette opération est très rapide et n'échoue jamais.

Cette fonction a été introduite dans Qt 6.4.

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

Move-assigne other à cette instance QTemporaryDir.

Remarque : L'objet déplacé other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'attribution d'une nouvelle valeur.

Cette fonction a été introduite dans Qt 6.4.

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