Sur cette page

QDir Class

La classe QDir permet d'accéder aux structures de répertoire et à leur contenu. Plus d'informations...

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

Cette classe est comparable à l'égalité.

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

Types publics

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

Fonctions publiques

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()
bool mkdir(const QString &dirName, std::optional<QFileDevice::Permissions> permissions = std::nullopt) const
bool mkpath(const QString &dirPath, std::optional<QFileDevice::Permissions> permissions = std::nullopt) 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

Membres publics statiques

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)

Description détaillée

Un QDir est utilisé pour manipuler les noms de chemin, accéder aux informations concernant les chemins et les fichiers, et manipuler le système de fichiers sous-jacent. Il peut également être utilisé pour accéder au système de ressources de Qt.

Qt utilise "/" comme séparateur universel de répertoire de la même manière que "/" est utilisé comme séparateur de chemin dans les URL. Si vous utilisez toujours "/" comme séparateur de répertoire, Qt traduira vos chemins pour se conformer au système d'exploitation sous-jacent.

Un QDir peut pointer vers un fichier en utilisant un chemin relatif ou absolu. Les chemins absolus commencent par le séparateur de répertoire (éventuellement précédé d'une spécification de lecteur sous Windows). Les noms de fichiers relatifs commencent par un nom de répertoire ou un nom de fichier et spécifient un chemin relatif au répertoire actuel.

Exemples de chemins d'accès absolus :

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

Sous Windows, le deuxième exemple ci-dessus sera traduit en C:\Users lorsqu'il sera utilisé pour accéder aux fichiers.

Exemples de chemins relatifs :

QDir("images/landscape.png");

Vous pouvez utiliser les fonctions isRelative() ou isAbsolute() pour vérifier si un QDir utilise un chemin d'accès relatif ou absolu. Appelez makeAbsolute() pour convertir un QDir relatif en un QDir absolu.

Remarque : les chemins commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent un QResource.

Le chemin d'accès à un répertoire peut être obtenu à l'aide de la fonction path() et un nouveau chemin d'accès peut être défini à l'aide de la fonction setPath(). Le chemin absolu d'un répertoire est trouvé en appelant la fonction absolutePath().

Le nom d'un répertoire est obtenu à l'aide de la fonction dirName(). Cette fonction renvoie généralement le dernier élément du chemin absolu qui spécifie l'emplacement du répertoire. Cependant, elle peut également renvoyer "." si le QDir représente le répertoire actuel.

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

Le chemin d'accès d'un répertoire peut également être modifié à l'aide des fonctions cd() et cdUp(), qui fonctionnent toutes deux comme des commandes shell familières. Lorsque la fonction cd() est appelée avec le nom d'un répertoire existant, l'objet QDir change de répertoire de manière à représenter ce répertoire à la place. La fonction cdUp() modifie le répertoire de l'objet QDir de manière à ce qu'il fasse référence à son répertoire parent ; c'est-à-dire que cd("...") est équivalent à cdUp().

Les répertoires peuvent être créés avec mkdir(), renommés avec rename() et supprimés avec rmdir().

Vous pouvez tester la présence d'un répertoire avec un nom donné en utilisant exists(), et les propriétés d'un répertoire peuvent être testées avec isReadable(), isAbsolute(), isRelative(), et isRoot().

La fonction refresh() relit les données du répertoire à partir du disque.

Fichiers et contenu des répertoires

Les répertoires contiennent un certain nombre d'entrées représentant des fichiers, des répertoires et des liens symboliques. Le nombre d'entrées d'un répertoire est renvoyé par la fonction count(). Une liste de chaînes de caractères contenant les noms de toutes les entrées d'un répertoire peut être obtenue avec entryList(). Si vous avez besoin d'informations sur chaque entrée, utilisez entryInfoList() pour obtenir une liste d'objets QFileInfo.

Les chemins d'accès aux fichiers et aux répertoires d'un répertoire peuvent être construits à l'aide des fonctions filePath() et absoluteFilePath(). La fonction filePath() renvoie un chemin vers le fichier ou le répertoire spécifié par rapport au chemin de l'objet QDir ; absoluteFilePath() renvoie un chemin absolu vers le fichier ou le répertoire spécifié. Aucune de ces fonctions ne vérifie l'existence de fichiers ou de répertoires ; elles ne font que construire des chemins.

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

Les fichiers peuvent être supprimés à l'aide de la fonction remove(). Les répertoires ne peuvent pas être supprimés de la même manière que les fichiers ; utilisez la fonction rmdir() pour les supprimer.

Il est possible de réduire le nombre d'entrées renvoyées par entryList() et entryInfoList() en appliquant des filtres à un objet QDir. Vous pouvez appliquer un filtre de nom pour spécifier un modèle avec des caractères génériques auxquels les noms de fichiers doivent correspondre, un filtre d'attribut qui sélectionne les propriétés des entrées et peut faire la distinction entre les fichiers et les répertoires, ainsi qu'un ordre de tri.

Les filtres de nom sont des listes de chaînes de caractères transmises à setNameFilters(). Les filtres d'attributs consistent en une combinaison OU bit à bit de filtres, et ils sont spécifiés lors de l'appel à setFilter(). L'ordre de tri est spécifié en utilisant setSorting() avec une combinaison OU binaire de SortFlags.

Vous pouvez vérifier si un nom de fichier correspond à un filtre en utilisant la fonction match().

Les drapeaux de filtre et d'ordre de tri peuvent également être spécifiés lors de l'appel de entryList() et entryInfoList() afin d'ignorer le comportement précédemment défini.

Répertoire courant et autres chemins spéciaux

L'accès à certains répertoires courants est assuré par un certain nombre de fonctions statiques qui renvoient des objets QDir. Il existe également des fonctions correspondantes qui renvoient des chaînes de caractères :

QDirQStringValeur de retour
current()currentPath()Répertoire de travail de l'application
home()homePath()Le répertoire personnel de l'utilisateur
root()rootPath()Le répertoire racine
temp()tempPath()Le répertoire temporaire du système

La fonction statique setCurrent() peut également être utilisée pour définir le répertoire de travail de l'application.

Si vous souhaitez trouver le répertoire contenant l'exécutable de l'application, consultez QCoreApplication::applicationDirPath().

La fonction statique drives() fournit une liste des répertoires racines pour chaque périphérique contenant un système d'archivage. Sur les systèmes Unix, cette fonction renvoie une liste contenant un seul répertoire racine "/" ; sous Windows, la liste contient généralement C:/, et éventuellement d'autres lettres de lecteur telles que D:/, en fonction de la configuration du système de l'utilisateur.

Manipulation des chemins et chaînes de caractères

Les chemins contenant des éléments "." qui font référence au répertoire actuel à ce point du chemin, des éléments ".." qui font référence au répertoire parent et des liens symboliques peuvent être réduits à une forme canonique à l'aide de la fonction canonicalPath().

Les chemins peuvent également être simplifiés en utilisant la fonction cleanPath() pour supprimer les éléments "/" et "..." redondants.

Il est parfois nécessaire de pouvoir afficher un chemin dans la représentation native de la plate-forme de l'utilisateur. La fonction statique toNativeSeparators() renvoie une copie du chemin spécifié dans laquelle chaque séparateur de répertoire est remplacé par le séparateur approprié pour le système d'exploitation sous-jacent.

Exemples d'application

Vérifier si un répertoire existe :

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

(Nous pourrions également utiliser l'une des fonctions statiques de commodité QFileInfo::exists() ou QFile::exists()).

Traverser des répertoires et lire un fichier :

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", qPrintable(file.fileName()));
}

Un programme qui répertorie tous les fichiers du répertoire courant (à l'exclusion des liens symboliques), triés par taille, le plus petit en premier :

#include <QDir>
#include <iostream>
#include <QCoreApplication>

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;
}

Problèmes spécifiques aux plates-formes

Sur Android, certaines limitations s'appliquent au traitement des URI de contenu:

  • Des autorisations d'accès peuvent être nécessaires en demandant à l'utilisateur d'utiliser le site QFileDialog qui met en œuvre le sélecteur de fichiers natif d'Android.
  • Essayez de suivre les lignes directrices relatives au stockage ciblé, comme l'utilisation de répertoires spécifiques à l'application plutôt que d'autres répertoires externes publics. Pour plus d'informations, consultez également les meilleures pratiques en matière de stockage.
  • En raison de la conception des API de Qt Designer (par exemple QFile), il n'est pas possible d'intégrer pleinement ces dernières aux API du MediaStore d'Android.

Voir également QFileInfo, QFile, QFileDialog, QCoreApplication::applicationDirPath(), et Fetch More Example.

Documentation des types de membres

enum QDir::Filter
flags QDir::Filters

Cette énumération décrit les options de filtrage disponibles pour QDir; par exemple pour entryList() et entryInfoList(). La valeur du filtre est spécifiée en combinant les valeurs de la liste suivante à l'aide de l'opérateur bitwise OR :

ConstanteValeurDescription
QDir::Dirs0x001Liste des répertoires correspondant aux filtres.
QDir::AllDirs0x400Répertorie tous les répertoires, c'est-à-dire qu'elle n'applique pas les filtres aux noms de répertoires.
QDir::Files0x002Liste des fichiers.
QDir::Drives0x004Liste des unités de disque (ignorée sous Unix).
QDir::NoSymLinks0x008Ne pas répertorier les liens symboliques (ignoré par les systèmes d'exploitation qui ne prennent pas en charge les liens symboliques).
QDir::NoDotAndDotDotNoDot | NoDotDotNe pas lister les entrées spéciales "." et "...".
QDir::NoDot0x2000Ne pas répertorier l'entrée spéciale ".".
QDir::NoDotDot0x4000Ne pas répertorier l'entrée spéciale "...".
QDir::AllEntriesDirs | Files | DrivesLister les répertoires, les fichiers, les lecteurs et les liens symboliques (les liens symboliques rompus ne sont pas listés, sauf si vous spécifiez Système).
QDir::Readable0x010Lister les fichiers pour lesquels l'application a un accès en lecture. La valeur Readable doit être combinée avec Dirs ou Files.
QDir::Writable0x020Liste des fichiers pour lesquels l'application a un accès en écriture. La valeur Writable doit être combinée avec Dirs ou Files.
QDir::Executable0x040Liste des fichiers pour lesquels l'application a un accès en exécution. La valeur Exécutable doit être combinée avec Dossiers ou Fichiers.
QDir::Hidden0x100Liste des fichiers cachés (sous Unix, les fichiers commençant par un ".").
QDir::System0x200Liste des fichiers système (sous Unix, les fichiers FIFO, sockets et device sont inclus ; sous Windows, les fichiers .lnk sont inclus).
QDir::CaseSensitive0x800Le filtre doit être sensible à la casse.

Les fonctions qui utilisent les valeurs de l'énumération Filter pour filtrer les listes de fichiers et de répertoires incluront les liens symboliques vers les fichiers et les répertoires, sauf si vous définissez la valeur NoSymLinks.

La construction par défaut de QDir ne filtrera pas les fichiers en fonction de leurs permissions, de sorte que entryList() et entryInfoList() renverront tous les fichiers qui sont lisibles, inscriptibles, exécutables ou toute combinaison des trois. Cela rend la valeur par défaut facile à écrire, et en même temps utile.

Par exemple, les drapeaux Readable, Writable et Files permettent de lister tous les fichiers pour lesquels l'application a un accès en lecture, en écriture ou les deux. Si les drapeaux Dirs et Drives sont également inclus dans cette combinaison, tous les lecteurs, répertoires, fichiers que l'application peut lire, écrire ou exécuter, ainsi que les liens symboliques vers ces fichiers/répertoires peuvent être répertoriés.

Pour récupérer les autorisations d'un répertoire, utilisez la fonction entryInfoList() pour obtenir les objets QFileInfo associés, puis utilisez la fonction QFileInfo::permissions() pour obtenir les autorisations et la propriété de chaque fichier.

Le type Filters est un typedef pour QFlags<Filter>. Il stocke une combinaison OU de valeurs de filtre.

enum QDir::SortFlag
flags QDir::SortFlags

Cette énumération décrit les options de tri disponibles pour QDir, par exemple pour entryList() et entryInfoList(). La valeur de tri est spécifiée en combinant par OU les valeurs de la liste suivante :

ConstanteValeurDescription de la valeur
QDir::Name0x00Tri par nom.
QDir::Time0x01Tri par heure (heure de modification).
QDir::Size0x02Tri par taille de fichier.
QDir::Type0x80Tri par type de fichier (extension).
QDir::Unsorted0x03Ne pas trier.
QDir::NoSort-1Pas de tri par défaut.
QDir::DirsFirst0x04Classer d'abord les répertoires, puis les fichiers.
QDir::DirsLast0x20Classer les fichiers en premier, puis les répertoires.
QDir::Reversed0x08Inverser l'ordre de tri.
QDir::IgnoreCase0x10Trier sans tenir compte de la casse.
QDir::LocaleAware0x40Trier les éléments de manière appropriée en fonction des paramètres linguistiques actuels.

Vous ne pouvez spécifier qu'une seule des quatre premières options.

Si vous spécifiez à la fois DirsFirst et Reversed, les répertoires sont toujours placés en premier, mais dans l'ordre inverse ; les fichiers sont listés après les répertoires, toujours dans l'ordre inverse.

Le type SortFlags est un typedef pour QFlags<SortFlag>. Il stocke une combinaison OU de valeurs SortFlag.

Documentation des fonctions membres

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

Construit un QDir pointant vers le répertoire donné path. Si le chemin est vide, le répertoire de travail du programme (".") est utilisé.

Voir aussi currentPath().

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

Construit un QDir pointant vers le répertoire donné path. Si le chemin est vide, le répertoire de travail du programme (".") est utilisé.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi currentPath().

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

Construit un QDir avec le chemin path, qui filtre ses entrées par nom à l'aide de nameFilter et par attributs à l'aide de filters. Il trie également les noms à l'aide de sort.

La valeur par défaut de nameFilter est une chaîne vide, qui n'exclut rien ; la valeur par défaut de filters est AllEntries, qui n'exclut rien non plus. La valeur par défaut de sort est Name | IgnoreCase, c'est-à-dire que le tri par nom est insensible à la casse.

Si path est une chaîne vide, QDir utilise "." (le répertoire courant). Si nameFilter est une chaîne vide, QDir utilise le filtre de nom "*" (tous les fichiers).

Remarque : path ne doit pas nécessairement exister.

Voir aussi exists(), setPath(), setNameFilters(), setFilter() et setSorting().

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

Construit un QDir avec le chemin path, qui filtre ses entrées par nom à l'aide de nameFilter et par attributs à l'aide de filters. Il trie également les noms à l'aide de sort.

La valeur par défaut de nameFilter est une chaîne vide, qui n'exclut rien ; la valeur par défaut de filters est AllEntries, qui n'exclut rien non plus. La valeur par défaut de sort est Name | IgnoreCase, c'est-à-dire que le tri par nom est insensible à la casse.

Si path est vide, QDir utilise "." (le répertoire courant). Si nameFilter est une chaîne vide, QDir utilise le filtre de nom "*" (tous les fichiers).

Remarque : path ne doit pas nécessairement exister.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi exists(), setPath(), setNameFilters(), setFilter() et setSorting().

QDir::QDir(const QDir &dir)

Construit un objet QDir qui est une copie de l'objet QDir pour le répertoire dir.

Voir aussi operator=().

[noexcept] QDir::~QDir()

Détruit l'objet QDir et libère ses ressources. Cela n'a aucun effet sur le répertoire sous-jacent dans le système de fichiers.

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

Renvoie le nom du chemin absolu d'un fichier dans le répertoire. Il ne vérifie pas si le fichier existe réellement dans le répertoire, mais voir exists(). Les séparateurs multiples redondants ou les répertoires "." et ".." dans fileName ne sont pas supprimés (voir cleanPath()).

Voir également relativeFilePath(), filePath() et canonicalPath().

QString QDir::absolutePath() const

Renvoie le chemin d'accès absolu (un chemin qui commence par "/" ou par une spécification de lecteur), qui peut contenir des liens symboliques, mais ne contient jamais de ".", "..." ou de séparateurs multiples redondants.

Voir aussi setPath(), canonicalPath(), exists(), cleanPath(), dirName() et absoluteFilePath().

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

Ajoute path au chemin de recherche de prefix.

Voir aussi setSearchPaths().

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

Il s'agit d'une fonction surchargée.

Cette fonction a été introduite dans Qt 6.0.

QString QDir::canonicalPath() const

Renvoie le chemin canonique, c'est-à-dire un chemin sans liens symboliques ni éléments redondants "." ou "...".

Sur les systèmes qui n'ont pas de liens symboliques, cette fonction renvoie toujours la même chaîne que absolutePath(). Si le chemin canonique n'existe pas (en général à cause de liens symboliques qui pendent), canonicalPath() renvoie une chaîne vide.

Exemple :

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

Voir aussi path(), absolutePath(), exists(), cleanPath(), dirName() et absoluteFilePath().

bool QDir::cd(const QString &dirName)

Change le répertoire de QDir en dirName.

Renvoie true si le nouveau répertoire existe ; sinon, renvoie false. Notez que l'opération logique cd() n'est pas effectuée si le nouveau répertoire n'existe pas.

Appeler cd("..") est équivalent à appeler cdUp().

Voir aussi cdUp(), isReadable(), exists() et path().

bool QDir::cdUp()

Change de répertoire en se déplaçant d'un répertoire vers le haut à partir du répertoire actuel de QDir.

Renvoie true si le nouveau répertoire existe ; sinon, renvoie false. Notez que l'opération logique cdUp() n'est pas effectuée si le nouveau répertoire n'existe pas.

Remarque : sur Android, cette opération n'est pas prise en charge pour les URI de contenu. Pour plus d'informations, voir DocumentFile.getParentFile().

Voir également cd(), isReadable(), exists() et path().

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

Retourne path avec les séparateurs de répertoires normalisés (c'est-à-dire les séparateurs natifs de la plate-forme convertis en "/") et les séparateurs redondants supprimés, et les ". "s et ".. "s résolus (dans la mesure du possible).

Les liens symboliques sont conservés. Cette fonction ne renvoie pas le chemin canonique, mais plutôt la version la plus simple de l'entrée. Par exemple, "./local" devient "local", "local/../bin" devient "bin" et "/local/usr/../bin" devient "/local/bin".

Voir également absolutePath() et canonicalPath().

qsizetype QDir::count() const

Renvoie le nombre total de répertoires et de fichiers dans le répertoire.

Équivalent à entryList().count().

Remarque : dans les versions de Qt antérieures à la version 6.5, cette fonction renvoyait uint, et non qsizetype.

Voir aussi operator[]() et entryList().

[static] QDir QDir::current()

Renvoie le répertoire courant de l'application.

Le répertoire est construit en utilisant le chemin absolu du répertoire courant, ce qui garantit que son path() sera le même que son absolutePath().

Voir aussi currentPath(), setCurrent(), home(), root() et temp().

[static] QString QDir::currentPath()

Renvoie le chemin absolu du répertoire courant de l'application. Le répertoire courant est le dernier répertoire défini avec QDir::setCurrent() ou, s'il n'a jamais été appelé, le répertoire dans lequel cette application a été lancée par le processus parent.

Voir aussi current(), setCurrent(), homePath(), rootPath(), tempPath() et QCoreApplication::applicationDirPath().

QString QDir::dirName() const

Renvoie le nom du répertoire ; ce n'est pas la même chose que le chemin d'accès, par exemple un répertoire portant le nom "mail" peut avoir le chemin d'accès "/var/spool/mail". Si le répertoire n'a pas de nom (par exemple, s'il s'agit du répertoire racine), une chaîne vide est renvoyée.

Aucune vérification n'est effectuée pour s'assurer qu'un répertoire portant ce nom existe réellement ; voir exists().

Voir aussi path(), filePath(), absolutePath() et absoluteFilePath().

[static] QFileInfoList QDir::drives()

Renvoie une liste des répertoires racines de ce système.

Sous Windows, il s'agit d'une liste d'objets QFileInfo contenant "C:/", "D:/", etc. Cela ne renvoie pas les lecteurs dont le support éjectable est vide. Sous d'autres systèmes d'exploitation, il renvoie une liste contenant un seul répertoire racine (c'est-à-dire "/").

Voir également root() et rootPath().

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

Renvoie une liste d'objets QFileInfo pour tous les fichiers et répertoires du répertoire, ordonnés en fonction des filtres de nom et d'attributs définis précédemment avec setNameFilters() et setFilter(), et triés en fonction des drapeaux définis avec setSorting().

Le filtre de nom, le filtre d'attribut de fichier et la spécification de tri peuvent être remplacés en utilisant les arguments nameFilters, filters, et sort.

Renvoie une liste vide si le répertoire est illisible, s'il n'existe pas ou si rien ne correspond à la spécification.

Voir aussi entryList(), setNameFilters(), setSorting(), setFilter(), isReadable() et exists().

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

Renvoie une liste d'objets QFileInfo pour tous les fichiers et répertoires du répertoire, ordonnés selon les filtres de noms et d'attributs définis précédemment avec setNameFilters() et setFilter(), et triés selon les drapeaux définis avec setSorting().

Les filtres d'attributs et les spécifications de tri peuvent être remplacés par les arguments filters et sort.

Renvoie une liste vide si le répertoire est illisible, s'il n'existe pas ou si rien ne correspond à la spécification.

Il s'agit d'une fonction surchargée.

Voir aussi entryList(), setNameFilters(), setSorting(), setFilter(), isReadable() et exists().

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

Renvoie une liste des noms de tous les fichiers et répertoires du répertoire, classés en fonction des filtres de noms et d'attributs définis précédemment avec setNameFilters() et setFilter(), et triés en fonction des drapeaux définis avec setSorting().

Le filtre de nom, le filtre d'attribut de fichier et la spécification de tri peuvent être remplacés en utilisant les arguments nameFilters, filters, et sort.

Renvoie une liste vide si le répertoire est illisible, s'il n'existe pas ou si rien ne correspond à la spécification.

Voir aussi entryInfoList(), setNameFilters(), setSorting() et setFilter().

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

Renvoie une liste des noms de tous les fichiers et répertoires du répertoire, classés en fonction des filtres de noms et d'attributs définis précédemment avec setNameFilters() et setFilter(), et triés en fonction des drapeaux définis avec setSorting().

Les filtres d'attributs et les spécifications de tri peuvent être remplacés par les arguments filters et sort.

Renvoie une liste vide si le répertoire est illisible, s'il n'existe pas ou si rien ne correspond à la spécification.

Remarque : pour lister les liens symboliques qui pointent vers des fichiers non existants, System doit être transmis au filtre.

Il s'agit d'une fonction surchargée.

Voir aussi entryInfoList(), setNameFilters(), setSorting() et setFilter().

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

Renvoie true si le fichier appelé name existe ; sinon, renvoie false.

À moins que name ne contienne un chemin d'accès absolu, le nom du fichier est supposé être relatif au répertoire lui-même, de sorte que cette fonction est généralement utilisée pour vérifier la présence de fichiers dans un répertoire.

Voir également QFileInfo::exists() et QFile::exists().

bool QDir::exists() const

Renvoie true si le répertoire existe ; sinon, renvoie false(si un fichier portant le même nom est trouvé, cette fonction renvoie faux).

La surcharge de cette fonction qui accepte un argument est utilisée pour tester la présence de fichiers et de répertoires dans un répertoire.

Il s'agit d'une fonction surchargée.

Voir également QFileInfo::exists() et QFile::exists().

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

Renvoie le nom du chemin d'accès d'un fichier dans le répertoire. Ne vérifie pas si le fichier existe réellement dans le répertoire ; mais voir exists(). Si QDir est relatif, le nom du chemin retourné sera également relatif. Les séparateurs multiples redondants ou les répertoires "." et ".." dans fileName ne sont pas supprimés (voir cleanPath()).

Voir aussi dirName(), absoluteFilePath(), isRelative(), et canonicalPath().

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

Renvoie absolutePath() sous la forme std::filesystem::path.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi absolutePath().

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

Renvoie canonicalPath() sous la forme std::filesystem::path.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi canonicalPath().

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

Renvoie path() sous la forme std::filesystem::path.

Cette fonction a été introduite dans Qt 6.0.

Voir aussi path().

QDir::Filters QDir::filter() const

Renvoie la valeur définie par setFilter()

Voir aussi setFilter().

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

Renvoie pathName en utilisant '/' comme séparateur de fichiers. Sous Windows, par exemple, fromNativeSeparators("c:\\winnt\\system32") renvoie "c:/winnt/system32".

La chaîne renvoyée peut être identique à l'argument sur certains systèmes d'exploitation, par exemple sous Unix.

Voir également toNativeSeparators() et separator().

[static] QDir QDir::home()

Renvoie le répertoire personnel de l'utilisateur.

Le répertoire est construit en utilisant le chemin absolu du répertoire personnel, en s'assurant que son path() sera le même que son absolutePath().

Voir homePath() pour plus de détails.

Voir aussi drives(), current(), root() et temp().

[static] QString QDir::homePath()

Renvoie le chemin absolu du répertoire personnel de l'utilisateur.

Sous Windows, cette fonction renvoie le répertoire du profil de l'utilisateur actuel. Généralement, il s'agit de :

C:/Users/Username

Utilisez la fonction toNativeSeparators() pour convertir les séparateurs en séparateurs appropriés pour le système d'exploitation sous-jacent.

Si le répertoire du profil de l'utilisateur actuel n'existe pas ou ne peut pas être récupéré, les alternatives suivantes seront vérifiées (dans l'ordre indiqué) jusqu'à ce qu'un chemin existant et disponible soit trouvé :

  1. Le chemin spécifié par la variable d'environnement USERPROFILE.
  2. Le chemin formé par la concaténation des variables d'environnement HOMEDRIVE et HOMEPATH.
  3. Le chemin spécifié par la variable d'environnement HOME.
  4. Le chemin renvoyé par la fonction rootPath() (qui utilise la variable d'environnement SystemDrive ).
  5. Le répertoire C:/.

Sous les systèmes d'exploitation non Windows, la variable d'environnement HOME est utilisée si elle existe, sinon le chemin renvoyé par la fonction rootPath().

Voir également home(), currentPath(), rootPath() et tempPath().

bool QDir::isAbsolute() const

Renvoie true si le chemin d'accès au répertoire est absolu ; sinon, renvoie false. Voir isAbsolutePath().

Remarque : les chemins d'accès commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent un QResource.

Voir également isRelative(), makeAbsolute() et cleanPath().

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

Renvoie true si path est absolu ; renvoie false s'il est relatif.

Remarque : les chemins commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent un QResource.

Voir également isAbsolute(), isRelativePath(), makeAbsolute(), cleanPath() et QResource.

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

Retourne si le répertoire est vide.

Équivalent à count() == 0 avec les filtres QDir::AllEntries | QDir::NoDotAndDotDot, mais plus rapide car il vérifie simplement si le répertoire contient au moins une entrée.

Remarque : à moins que vous ne définissiez les drapeaux de filters pour inclure QDir::NoDotAndDotDot (comme le fait la valeur par défaut), aucun répertoire n'est vide.

Voir aussi count(), entryList() et setFilter().

bool QDir::isReadable() const

Renvoie true si le répertoire est lisible et que nous pouvons ouvrir les fichiers par leur nom ; sinon, renvoie false.

Attention : Une valeur fausse de cette fonction ne garantit pas que les fichiers du répertoire ne sont pas accessibles.

Voir aussi QFileInfo::isReadable().

bool QDir::isRelative() const

Renvoie true si le chemin d'accès au répertoire est relatif ; sinon, renvoie false. (Sous Unix, un chemin est relatif s'il ne commence pas par un "/").

Remarque : les chemins d'accès commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent une adresse QResource.

Voir également makeAbsolute(), isAbsolute(), isAbsolutePath() et cleanPath().

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

Renvoie true si path est relatif ; renvoie false s'il est absolu.

Remarque : les chemins commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent une adresse QResource.

Voir également isRelative(), isAbsolutePath() et makeAbsolute().

bool QDir::isRoot() const

Renvoie true si le répertoire est le répertoire racine ; sinon, renvoie false.

Remarque : si le répertoire est un lien symbolique vers le répertoire racine, cette fonction renvoie false. Si vous voulez tester cela, utilisez canonicalPath(), par exemple.

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

Voir aussi root() et rootPath().

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

Renvoie le séparateur de liste de chemins natif : ':' sous Unix et ';' sous Windows.

Voir aussi separator().

bool QDir::makeAbsolute()

Convertit le chemin d'accès au répertoire en chemin absolu. S'il est déjà absolu, rien ne se passe. Renvoie true si la conversion a réussi ; sinon, renvoie false.

Voir aussi isAbsolute(), isAbsolutePath(), isRelative() et cleanPath().

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

Renvoie true si fileName correspond au motif de caractère générique (glob) filter; sinon, renvoie false. L'adresse filter peut contenir plusieurs motifs séparés par des espaces ou des points-virgules. La correspondance est insensible à la casse.

Voir aussi QRegularExpression::fromWildcard(), entryList() et entryInfoList().

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

Renvoie true si fileName correspond à l'un des motifs génériques (glob) de la liste de filters; sinon, renvoie false. La correspondance est insensible à la casse.

Il s'agit d'une fonction surchargée.

Voir aussi QRegularExpression::fromWildcard(), entryList() et entryInfoList().

bool QDir::mkdir(const QString &dirName, std::optional<QFileDevice::Permissions> permissions = std::nullopt) const

Crée un sous-répertoire appelé dirName avec le nom permissions.

Si permissions est std::nullopt (par défaut), cette fonction définit les autorisations par défaut.

Renvoie true en cas de succès ; renvoie false si l'opération a échoué ou si dirName existait déjà.

Si dirName existe déjà, cette méthode ne modifiera pas ses autorisations.

Sur les systèmes POSIX, permissions est modifié par le umask (masque de création de fichier) du processus en cours, ce qui signifie que certains bits de permission peuvent être désactivés.

Sous Windows, un nouveau répertoire hérite par défaut des autorisations de son répertoire parent. permissions est émulé à l'aide d'ACL. Ces listes peuvent être dans un ordre non canonique lorsqu'un groupe se voit accorder moins d'autorisations que d'autres. Les fichiers et les répertoires présentant de telles permissions génèrent des avertissements lorsque l'onglet Sécurité de la boîte de dialogue Propriétés est ouvert. Accorder au groupe toutes les permissions accordées aux autres permet d'éviter ces avertissements.

Remarque : Qt 6.10 a ajouté le paramètre permissions. Pour retrouver l'ancien comportement (utilisation des autorisations par défaut spécifiques à la plate-forme) de mkdir(const QString &), remplacez permissions par std::nullopt (valeur par défaut). Cette nouvelle méthode remplace également de manière transparente la surcharge mkdir(const QString &, QFile::Permissions).

Voir aussi rmdir(), mkpath(), et rmpath().

bool QDir::mkpath(const QString &dirPath, std::optional<QFileDevice::Permissions> permissions = std::nullopt) const

Crée un répertoire nommé dirPath.

Si dirPath n'existe pas encore, cette méthode le créera - ainsi que tout répertoire parent inexistant - avec permissions.

Si dirPath existait déjà, cette méthode ne modifiera pas ses permissions ; il en va de même pour les répertoires parents existants.

Si permissions est std::nullopt (la valeur par défaut), cette fonction définira les autorisations par défaut.

Elle renvoie true en cas de succès ou si dirPath existe déjà ; sinon, elle renvoie false.

Sur les systèmes POSIX, permissions est modifié par le umask (masque de création de fichier) du processus en cours, ce qui signifie que certains bits de permission peuvent être désactivés.

Sous Windows, un nouveau répertoire hérite par défaut des autorisations de son répertoire parent. permissions est émulé à l'aide d'ACL. Ces listes peuvent être dans un ordre non canonique lorsqu'un groupe se voit accorder moins d'autorisations que d'autres. Les fichiers et les répertoires présentant de telles permissions génèrent des avertissements lorsque l'onglet Sécurité de la boîte de dialogue Propriétés est ouvert. Accorder au groupe toutes les permissions accordées aux autres permet d'éviter ces avertissements.

Remarque : Qt 6.10 a ajouté le paramètre permissions. Pour obtenir l'ancien comportement (en utilisant les autorisations par défaut spécifiques à la plate-forme) de mkpath(const QString &), définissez permissions à std::nullopt (la valeur par défaut).

Voir aussi rmpath(), mkdir() et rmdir().

QStringList QDir::nameFilters() const

Renvoie la liste de chaînes définie par setNameFilters()

Voir aussi setNameFilters().

QString QDir::path() const

Renvoie le chemin d'accès. Celui-ci peut contenir des liens symboliques, mais ne contient jamais de ".", "..." ou de séparateurs multiples redondants.

Le chemin retourné peut être absolu ou relatif (voir setPath()).

Voir aussi setPath(), absolutePath(), exists(), cleanPath(), dirName(), absoluteFilePath(), toNativeSeparators() et makeAbsolute().

void QDir::refresh() const

Actualise les informations du répertoire.

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

Renvoie le chemin d'accès à fileName par rapport au répertoire.

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"

Voir aussi absoluteFilePath(), filePath(), et canonicalPath().

bool QDir::remove(const QString &fileName)

Supprime le fichier fileName.

Renvoie true si le fichier est supprimé avec succès ; sinon, renvoie false.

bool QDir::removeRecursively()

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

Elle renvoie true en cas de succès, sinon elle renvoie false.

Si un fichier ou un répertoire ne peut pas être supprimé, removeRecursively() continue et tente de supprimer autant de fichiers et de sous-répertoires que possible, puis renvoie false.

Si le répertoire a déjà été supprimé, la méthode renvoie true (résultat attendu déjà atteint).

Remarque : cette fonction est destinée à supprimer un petit répertoire interne à l'application (tel qu'un répertoire temporaire), mais pas les répertoires visibles par l'utilisateur. Pour les opérations visibles par l'utilisateur, il est plutôt recommandé de signaler les erreurs plus précisément à l'utilisateur, de proposer des solutions en cas d'erreurs, d'afficher la progression de la suppression car elle peut prendre plusieurs minutes, etc.

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

Renomme un fichier ou un répertoire de oldName en newName, et renvoie true en cas de succès ; sinon, renvoie false.

Sur la plupart des systèmes de fichiers, rename() n'échoue que si oldName n'existe pas ou si un fichier portant le nouveau nom existe déjà. Cependant, il existe d'autres raisons pour lesquelles rename() peut échouer. Par exemple, sur au moins un système de fichiers, rename() échoue si newName pointe vers un fichier ouvert.

Si oldName est un fichier (et non un répertoire) qui ne peut pas être renommé immédiatement, Qt XML essaiera de copier oldName vers newName et de supprimer oldName.

Voir aussi QFile::rename().

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

Supprime le répertoire spécifié par dirName.

Le répertoire doit être vide pour que rmdir() réussisse.

Renvoie true en cas de succès ; sinon, renvoie false.

Voir aussi mkdir().

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

Supprime le chemin d'accès au répertoire dirPath.

La fonction supprimera tous les répertoires parents de dirPath, à condition qu'ils soient vides. C'est l'inverse de mkpath(dirPath).

Renvoie true en cas de succès ; sinon, elle renvoie false.

Voir également mkpath().

[static] QDir QDir::root()

Renvoie le répertoire racine.

Le répertoire est construit en utilisant le chemin absolu du répertoire racine, en s'assurant que son path() sera le même que son absolutePath().

Voir rootPath() pour plus de détails.

Voir aussi drives(), current(), home() et temp().

[static] QString QDir::rootPath()

Renvoie le chemin absolu du répertoire racine.

Pour les systèmes d'exploitation Unix, il s'agit de "/". Les systèmes de fichiers Windows renvoient normalement "c:/".

Voir aussi root(), drives(), currentPath(), homePath() et tempPath().

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

Renvoie les chemins de recherche pour prefix.

Voir aussi setSearchPaths() et addSearchPath().

[static] QChar QDir::separator()

Renvoie le séparateur de répertoire natif : "/" sous Unix et "\" sous Windows.

Vous n'avez pas besoin d'utiliser cette fonction pour construire des chemins de fichiers. Si vous utilisez toujours "/", Qt traduira vos chemins pour se conformer au système d'exploitation sous-jacent. Si vous voulez afficher les chemins à l'utilisateur en utilisant le séparateur de son système d'exploitation, utilisez toNativeSeparators().

Voir aussi listSeparator().

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

Définit le répertoire de travail actuel de l'application à path. Renvoie true si le répertoire a été modifié avec succès ; sinon, renvoie 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"

Voir aussi current(), currentPath(), home(), root() et temp().

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

Définit le filtre utilisé par entryList() et entryInfoList() à filters. Le filtre est utilisé pour spécifier le type de fichiers qui doivent être retournés par entryList() et entryInfoList(). Voir QDir::Filter.

Voir aussi filter() et setNameFilters().

void QDir::setNameFilters(const QStringList &nameFilters)

Définit les filtres de noms utilisés par entryList() et entryInfoList() en fonction de la liste de filtres spécifiée par nameFilters.

Chaque filtre de nom est un filtre de caractères génériques (globbing) qui comprend les caractères génériques * et ?. Voir QRegularExpression::fromWildcard().

Par exemple, le code suivant définit trois filtres de noms sur un site QDir pour s'assurer que seuls les fichiers avec des extensions typiquement utilisées pour les fichiers source C++ sont listés :

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

Voir également nameFilters() et setFilter().

void QDir::setPath(const QString &path)

Définit le chemin du répertoire à path. Le chemin est nettoyé des ".", "..." redondants et des séparateurs multiples. Aucune vérification n'est effectuée pour savoir si un répertoire avec ce chemin existe réellement, mais vous pouvez le vérifier par vous-même en utilisant exists().

Le chemin d'accès peut être absolu ou relatif. Les chemins absolus commencent par le séparateur de répertoire "/" (éventuellement précédé d'une spécification de lecteur sous Windows). Les noms de fichiers relatifs commencent par un nom de répertoire ou un nom de fichier et spécifient un chemin d'accès relatif au répertoire actuel. Un exemple de chemin absolu est la chaîne "/tmp/quartz", un chemin relatif pourrait ressembler à "src/fatlib".

Voir aussi path(), absolutePath(), exists(), cleanPath(), dirName(), absoluteFilePath(), isRelative() et makeAbsolute().

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

Il s'agit d'une fonction surchargée.

Cette fonction a été introduite dans Qt 6.0.

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

Définit ou remplace les chemins de recherche de Qt pour les noms de fichiers avec le préfixe prefix à searchPaths.

Pour spécifier un préfixe pour un nom de fichier, ajoutez le préfixe suivi d'un seul deux-points (par exemple, "images:undo.png", "xmldocs:books.xml"). prefix ne peut contenir que des lettres ou des chiffres (par exemple, il ne peut pas contenir de deux-points, ni de barre oblique).

Qt Location utilise ce chemin de recherche pour localiser les fichiers dont le préfixe est connu. Les entrées du chemin de recherche sont testées dans l'ordre, en commençant par la première entrée.

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

Le préfixe du nom de fichier doit comporter au moins 2 caractères pour éviter les conflits avec les lettres de lecteur de Windows.

Les chemins de recherche peuvent contenir des chemins vers le Qt Resource System.

Voir aussi searchPaths().

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

Définit l'ordre de tri utilisé par entryList() et entryInfoList().

L'adresse sort est spécifiée en combinant par OU les valeurs de l'enum QDir::SortFlag.

Voir aussi sorting() et SortFlag.

QDir::SortFlags QDir::sorting() const

Renvoie la valeur définie par setSorting()

Voir aussi setSorting() et SortFlag.

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

Remplace l'instance QDir par l'instance other. Cette opération est très rapide et n'échoue jamais.

[static] QDir QDir::temp()

Renvoie le répertoire temporaire du système.

Le répertoire est construit en utilisant le chemin canonique absolu du répertoire temporaire, en s'assurant que son path() sera le même que son absolutePath().

Voir tempPath() pour plus de détails.

Voir aussi drives(), current(), home(), et root().

[static] QString QDir::tempPath()

Renvoie le chemin canonique absolu du répertoire temporaire du système.

Sur les systèmes Unix/Linux, il s'agit du chemin contenu dans la variable d'environnement TMPDIR ou /tmp si TMPDIR n'est pas défini. Sous Windows, il s'agit généralement du chemin contenu dans la variable d'environnement TEMP ou TMP. Le chemin renvoyé par cette méthode ne se termine pas par un séparateur de répertoire, sauf s'il s'agit du répertoire racine (d'un lecteur).

Voir aussi temp(), currentPath(), homePath() et rootPath().

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

Renvoie pathName avec les séparateurs '/' convertis en séparateurs appropriés pour le système d'exploitation sous-jacent.

Sous Windows, toNativeSeparators("c:/winnt/system32") renvoie "c :\winnt\system32 ".

La chaîne renvoyée peut être identique à l'argument sur certains systèmes d'exploitation, par exemple sous Unix.

Voir aussi fromNativeSeparators() et separator().

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

Move-assigne other à cette instance QDir.

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

Fait une copie de l'objet dir et l'affecte à l'objet QDir.

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

Renvoie le nom de fichier à la position pos dans la liste des noms de fichiers. Équivalent à entryList().at(index). pos doit être une position d'index valide dans la liste (c'est-à-dire 0 <= pos < count()).

Remarque : dans les versions de Qt antérieures à la version 6.5, pos était un int, et non qsizetype.

Voir également count() et entryList().

Non-membres apparentés

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

Renvoie true si le répertoire lhs et le répertoire rhs ont des chemins d'accès différents ou des paramètres de tri ou de filtre différents ; sinon, renvoie false.

Exemple :

// Le répertoire courant est "/usr/local"QDir d1("/usr/local/bin") ; d1.setFilter(QDir::Exécutable) ;QDir d2("bin") ;if (d1 != d2)    qDebug("They differ");

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

Renvoie true si le répertoire lhs et le répertoire rhs ont le même chemin d'accès et que leurs paramètres de tri et de filtre sont identiques ; sinon, renvoie false.

Exemple :

// Le répertoire actuel est "/usr/local"QDir d1("/usr/local/bin") ;QDir d2("bin") ;if (d1 == d2)    qDebug("They're the same");

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