QStorageInfo Class
Fournit des informations sur les périphériques de stockage et les disques actuellement montés. En savoir plus...
| En-tête : | #include <QStorageInfo> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QStorageInfo fait partie des classes « Entrée/Sortie et réseau » et « Classes partagées implicitement ».
Comparaisons de QStorageInfo
| Catégorie | Types comparables |
|---|---|
| égalité | QStorageInfo |
Fonctions publiques
| QStorageInfo() | |
| QStorageInfo(const QDir &dir) | |
| QStorageInfo(const QString &path) | |
| QStorageInfo(const QStorageInfo &other) | |
(since 6.10) | QStorageInfo(QStorageInfo &&other) |
| ~QStorageInfo() | |
| int | blockSize() const |
| qint64 | bytesAvailable() const |
| qint64 | bytesFree() const |
| qint64 | bytesTotal() const |
| QByteArray | device() const |
| QString | displayName() const |
| QByteArray | fileSystemType() const |
| bool | isReadOnly() const |
| bool | isReady() const |
| bool | isRoot() const |
| bool | isValid() const |
| QString | name() const |
| void | refresh() |
| QString | rootPath() const |
| void | setPath(const QString &path) |
| QByteArray | subvolume() const |
| void | swap(QStorageInfo &other) |
| QStorageInfo & | operator=(QStorageInfo &&other) |
| QStorageInfo & | operator=(const QStorageInfo &other) |
Membres publics statiques
| QList<QStorageInfo> | mountedVolumes() |
| QStorageInfo | root() |
Non-membres associés
| bool | operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs) |
| bool | operator==(const QStorageInfo &lhs, const QStorageInfo &rhs) |
Description détaillée
Permet de récupérer des informations sur l'espace disponible sur le volume, son point de montage, son étiquette et le nom de son système de fichiers.
Vous pouvez créer une instance de QStorageInfo en transmettant le chemin d'accès au point de montage du volume en tant que paramètre du constructeur, ou vous pouvez le définir à l'aide de la méthode setPath(). La méthode statique mountedVolumes() permet d'obtenir la liste de tous les systèmes de fichiers montés.
QStorageInfo met toujours en cache les informations récupérées, mais vous pouvez appeler la méthode ` refresh()` pour invalider le cache.
L'exemple suivant récupère les informations les plus courantes concernant le volume racine du système et affiche ces informations.
QStorageInfo storage = QStorageInfo::root();
qDebug() << storage.rootPath();
if (storage.isReadOnly())
qDebug() << "isReadOnly:" << storage.isReadOnly();
qDebug() << "name:" << storage.name();
qDebug() << "fileSystemType:" << storage.fileSystemType();
qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB";
qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB";Documentation sur les fonctions des membres
QStorageInfo::QStorageInfo()
Crée un objet QStorageInfo vide.
Les objets créés à l'aide du constructeur par défaut ne seront pas valides et ne seront donc pas prêts à l'emploi.
Voir également setPath(), isReady() et isValid().
[explicit] QStorageInfo::QStorageInfo(const QDir &dir)
Crée un nouvel objet QStorageInfo fournissant des informations sur le volume contenant le dossier « dir ».
[explicit] QStorageInfo::QStorageInfo(const QString &path)
Crée un nouvel objet QStorageInfo fournissant des informations sur le volume monté à l'adresse path.
Si vous passez un répertoire ou un fichier, l'objet QStorageInfo fera référence au volume sur lequel se trouve ce répertoire ou ce fichier. Vous pouvez vérifier si l'objet créé est correct à l'aide de la méthode isValid().
L'exemple suivant montre comment récupérer le volume sur lequel se trouve l'application. Il est recommandé de toujours vérifier que le volume est prêt et valide.
QStorageInfo storage(qApp->applicationDirPath());
if (storage.isValid() && storage.isReady()) {
// ...
}Voir également setPath().
QStorageInfo::QStorageInfo(const QStorageInfo &other)
Crée un nouvel objet `QStorageInfo` qui est une copie de l'objet `QStorageInfo` de ` other `.
[constexpr noexcept default, since 6.10] QStorageInfo::QStorageInfo(QStorageInfo &&other)
La fonction « move » construit un nouvel objet `QStorageInfo` à partir de ` other`.
L’objet d’origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation d’une nouvelle valeur.
Cette fonction a été introduite dans Qt 6.10.
[noexcept] QStorageInfo::~QStorageInfo()
Détruit l'objet ` QStorageInfo ` et libère ses ressources.
int QStorageInfo::blockSize() const
Renvoie la taille optimale de bloc de transfert pour ce système de fichiers.
Renvoie -1 si QStorageInfo n'a pas pu déterminer la taille ou si l'objet QStorageInfo n'est pas valide.
qint64 QStorageInfo::bytesAvailable() const
Renvoie l'espace disponible (en octets) pour l'utilisateur actuel. Elle renvoie l'espace total disponible si l'utilisateur est l'utilisateur root ou un administrateur système.
Cette taille peut être inférieure ou égale à la taille libre renvoyée par la fonction ` bytesFree()`.
Renvoie -1 si l'objet ` QStorageInfo ` n'est pas valide.
Voir également bytesTotal() et bytesFree().
qint64 QStorageInfo::bytesFree() const
Renvoie le nombre d'octets libres dans un volume. Notez que si des quotas sont définis sur le système de fichiers, cette valeur peut être supérieure à celle renvoyée par la fonction ` bytesAvailable()`.
Renvoie -1 si l'objet ` QStorageInfo ` n'est pas valide.
Voir également bytesTotal() et bytesAvailable().
qint64 QStorageInfo::bytesTotal() const
Renvoie la taille totale du volume en octets.
Renvoie -1 si l'objet ` QStorageInfo ` n'est pas valide.
Voir également bytesFree() et bytesAvailable().
QByteArray QStorageInfo::device() const
Renvoie le périphérique associé à ce volume.
Par exemple, sur les systèmes de fichiers Unix (y compris macOS), cette fonction renvoie le chemin d'accès au périphérique sous la forme /dev/sda0 pour les stockages locaux. Sous Windows, elle renvoie le chemin UNC commençant par \\\\?\\ pour les stockages locaux (en d'autres termes, le GUID du volume).
Voir également rootPath() et subvolume().
QString QStorageInfo::displayName() const
Renvoie le nom du volume, s'il est disponible, ou le chemin d'accès racine dans le cas contraire.
QByteArray QStorageInfo::fileSystemType() const
Renvoie le nom du type du système de fichiers.
Il s'agit d'une fonction dépendante de la plate-forme, et les noms des systèmes de fichiers peuvent varier d'un système d'exploitation à l'autre. Par exemple, sur les systèmes de fichiers Windows, ils peuvent s'appeler NTFS, et sur Linux, ntfs-3g ou fuseblk.
Voir également name().
bool QStorageInfo::isReadOnly() const
Renvoie « true » si le système de fichiers actuel est protégé contre l'écriture ; « false » dans le cas contraire.
bool QStorageInfo::isReady() const
Renvoie « true » si le système de fichiers actuel est prêt à fonctionner ; « false » dans le cas contraire. Par exemple, la valeur « false » est renvoyée si le CD n'est pas inséré.
Notez que les fonctions fileSystemType(), name(), bytesTotal(), bytesFree() et bytesAvailable() renverront des données non valides tant que le volume ne sera pas prêt.
Voir également isValid().
bool QStorageInfo::isRoot() const
Renvoie « true » si cette QStorageInfo correspond au volume racine du système ; « false » dans le cas contraire.
Sur les systèmes de fichiers Unix, le volume racine est un volume monté sur /. Sous Windows, le volume racine est le volume sur lequel le système d'exploitation est installé.
Voir aussi ` root()`
bool QStorageInfo::isValid() const
Renvoie « true » si l'QStorageInfo spécifiée par rootPath existe et est correctement montée.
Voir aussi isReady().
[static] QList<QStorageInfo> QStorageInfo::mountedVolumes()
Renvoie la liste des objets ` QStorageInfo ` correspondant à la liste des systèmes de fichiers actuellement montés.
Sous Windows, cette fonction renvoie les lecteurs visibles dans le dossier « Poste de travail ». Sur les systèmes d'exploitation Unix, elle renvoie la liste de tous les systèmes de fichiers montés (à l'exception des pseudo-systèmes de fichiers).
Renvoie par défaut tous les systèmes de fichiers actuellement montés.
L'exemple montre comment récupérer tous les systèmes de fichiers disponibles, en ignorant ceux en lecture seule.
foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) {
if (storage.isValid() && storage.isReady()) {
if (!storage.isReadOnly()) {
// ...
}
}
}Voir également root().
QString QStorageInfo::name() const
Renvoie le nom lisible par l'utilisateur d'un système de fichiers, généralement appelé « label ».
Tous les systèmes de fichiers ne prennent pas en charge cette fonctionnalité. Dans ce cas, la valeur renvoyée par cette méthode peut être vide. Une chaîne vide est renvoyée si le système de fichiers ne prend pas en charge les étiquettes ou si aucune étiquette n'est définie.
Sous Linux, la récupération de l'étiquette du volume nécessite que le paquet udev soit installé sur le système.
Voir également fileSystemType().
void QStorageInfo::refresh()
Réinitialise le cache interne de QStorageInfo.
QStorageInfo Mémorise des informations relatives au stockage afin d'accélérer les performances. QStorageInfo récupère ces informations lors de la construction d'un objet et/ou lors de l'appel de la méthode setPath(). Vous devez réinitialiser manuellement le cache en appelant cette fonction pour mettre à jour les informations de stockage.
[static] QStorageInfo QStorageInfo::root()
Renvoie un objet ` QStorageInfo ` représentant le volume racine du système.
Sur les systèmes Unix, cet appel renvoie le volume racine (« / ») ; sous Windows, il renvoie le volume sur lequel le système d'exploitation est installé.
Voir également isRoot().
QString QStorageInfo::rootPath() const
Renvoie le point de montage du système de fichiers représenté par cet objet ` QStorageInfo `.
Sous Windows, elle renvoie la lettre du volume si celui-ci n’est pas monté sur un répertoire.
Notez que la valeur renvoyée par rootPath() correspond au point de montage réel d'un volume et peut ne pas être égale à la valeur transmise au constructeur ou à la méthode setPath(). Par exemple, si le système ne contient que le volume racine et que vous transmettez « /directory » à setPath(), cette méthode renverra alors « / ».
Voir également setPath() et device().
void QStorageInfo::setPath(const QString &path)
Définit cet objet ` QStorageInfo ` sur le système de fichiers monté où se trouve ` path `.
path peut être soit un chemin racine du système de fichiers, soit un répertoire, soit un fichier situé dans ce système de fichiers.
Voir également rootPath().
QByteArray QStorageInfo::subvolume() const
Renvoie le nom du sous-volume associé à ce volume.
Certains types de systèmes de fichiers autorisent plusieurs sous-volumes au sein d'un même périphérique, qui peuvent être montés sous des chemins d'accès différents (par exemple, les montages « bind » sous Unix ou les sous-volumes du système de fichiers Btrfs). Si le sous-volume a pu être détecté, son nom est renvoyé par cette fonction. Le format du nom du sous-volume est spécifique à chaque type de système de fichiers.
Si ce volume n’a pas été monté à partir d’un sous-volume d’un système de fichiers plus grand ou si le sous-volume n’a pas pu être détecté, cette fonction renvoie un tableau d’octets vide.
Voir également ` device()`.
[noexcept] void QStorageInfo::swap(QStorageInfo &other)
Échange ces informations sur le volume avec other. Cette opération est très rapide et ne rencontre jamais de problème.
[noexcept] QStorageInfo &QStorageInfo::operator=(QStorageInfo &&other)
La méthode « move-assigns » attribue other à cette instance de QStorageInfo.
L'objet d'origine other est placé dans un état valide, mais non spécifié.
QStorageInfo &QStorageInfo::operator=(const QStorageInfo &other)
Crée une copie de l'objet « QStorageInfo » other et l'attribue à cet objet « QStorageInfo ».
Éléments non membres associés
[noexcept] bool operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs)
Renvoie « true » si l'objet « QStorageInfo » lhs fait référence à un lecteur ou à un volume différent de celui de l'objet « QStorageInfo » rhs; sinon, renvoie « false ».
[noexcept] bool operator==(const QStorageInfo &lhs, const QStorageInfo &rhs)
Renvoie ` true ` si l'objet ` QStorageInfo ` ( lhs ) fait référence au même lecteur ou volume que l'objet ` QStorageInfo ` ( rhs) ; sinon, elle renvoie ` false`.
Notez que le résultat de la comparaison entre deux objets QStorageInfo non valides est toujours positif.
© 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.