QStorageInfo Class
Proporciona información sobre el almacenamiento y las unidades montadas actualmente. Más...
| Cabecera: | #include <QStorageInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QStorageInfo es parte de Entrada/Salida y Redes y Clases Implícitamente Compartidas.
Esta clase es igual-comparable.
Funciones Públicas
| 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) |
Miembros públicos estáticos
| QList<QStorageInfo> | mountedVolumes() |
| QStorageInfo | root() |
Relacionados No Miembros
| bool | operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs) |
| bool | operator==(const QStorageInfo &lhs, const QStorageInfo &rhs) |
Descripción detallada
Permite recuperar información sobre el espacio del volumen, su punto de montaje, la etiqueta y el nombre del sistema de archivos.
Puedes crear una instancia de QStorageInfo pasando la ruta al punto de montaje del volumen como parámetro constructor, o puedes establecerlo usando el método setPath(). El método estático mountedVolumes() puede usarse para obtener la lista de todos los sistemas de ficheros montados.
QStorageInfo siempre almacena en caché la información recuperada, pero puedes llamar a refresh() para invalidar el caché.
El siguiente ejemplo recupera la información más común sobre el volumen raíz del sistema, e imprime información sobre él.
QStorageInfo almacenamiento = 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";
Documentación de las funciones miembro
QStorageInfo::QStorageInfo()
Construye un objeto QStorageInfo vacío.
Los objetos creados con el constructor por defecto serán inválidos y por tanto no estarán listos para su uso.
Ver también setPath(), isReady(), y isValid().
[explicit] QStorageInfo::QStorageInfo(const QDir &dir)
Construye un nuevo objeto QStorageInfo que proporciona información sobre el volumen que contiene la carpeta dir.
[explicit] QStorageInfo::QStorageInfo(const QString &path)
Construye un nuevo objeto QStorageInfo que da información acerca del volumen montado en path.
Si pasas un directorio o archivo, el objeto QStorageInfo se referirá al volumen donde se encuentra este directorio o archivo. Puedes comprobar si el objeto creado es correcto usando el método isValid().
El siguiente ejemplo muestra como obtener el volumen en el que se encuentra la aplicación. Se recomienda comprobar siempre que el volumen está listo y es válido.
QStorageInfo storage(qApp->applicationDirPath()); if (storage.isValid() && storage.isReady()) { // ... }
Véase también setPath().
QStorageInfo::QStorageInfo(const QStorageInfo &other)
Construye un nuevo objeto QStorageInfo que es una copia del objeto other QStorageInfo.
[constexpr noexcept, since 6.10] QStorageInfo::QStorageInfo(QStorageInfo &&other)
Move-construye un nuevo QStorageInfo a partir de other.
El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.
Esta función se introdujo en Qt 6.10.
[noexcept] QStorageInfo::~QStorageInfo()
Destruye el objeto QStorageInfo y libera sus recursos.
int QStorageInfo::blockSize() const
Devuelve el tamaño de bloque de transferencia óptimo para este sistema de archivos.
Devuelve -1 si QStorageInfo no pudo determinar el tamaño o si el objeto QStorageInfo no es válido.
qint64 QStorageInfo::bytesAvailable() const
Devuelve el tamaño (en bytes) disponible para el usuario actual. Devuelve el tamaño total disponible si el usuario es el usuario root o un administrador del sistema.
Este tamaño puede ser menor o igual que el tamaño libre devuelto por la función bytesFree().
Devuelve -1 si el objeto QStorageInfo no es válido.
Véase también bytesTotal() y bytesFree().
qint64 QStorageInfo::bytesFree() const
Devuelve el número de bytes libres en un volumen. Tenga en cuenta que si hay cuotas en el sistema de archivos, este valor puede ser mayor que el valor devuelto por bytesAvailable().
Devuelve -1 si el objeto QStorageInfo no es válido.
Véase también bytesTotal() y bytesAvailable().
qint64 QStorageInfo::bytesTotal() const
Devuelve el tamaño total del volumen en bytes.
Devuelve -1 si el objeto QStorageInfo no es válido.
Véase también bytesFree() y bytesAvailable().
QByteArray QStorageInfo::device() const
Devuelve el dispositivo para este volumen.
Por ejemplo, en los sistemas de archivos Unix (incluido macOS), devuelve la devpath como /dev/sda0 para los almacenamientos locales. En Windows, devuelve la ruta UNC que empieza por \\\\?\\ para almacenamientos locales (en otras palabras, el GUID del volumen).
Véase también rootPath() y subvolume().
QString QStorageInfo::displayName() const
Devuelve el nombre del volumen, si está disponible, o la ruta raíz en caso contrario.
QByteArray QStorageInfo::fileSystemType() const
Devuelve el nombre de tipo del sistema de archivos.
Se trata de una función que depende de la plataforma, y los nombres de los sistemas de archivos pueden variar entre los distintos sistemas operativos. Por ejemplo, en los sistemas de archivos de Windows pueden llamarse NTFS, y en Linux pueden llamarse ntfs-3g o fuseblk.
Véase también name().
bool QStorageInfo::isReadOnly() const
Devuelve true si el sistema de archivos actual está protegido contra escritura; false en caso contrario.
bool QStorageInfo::isReady() const
Devuelve true si el sistema de archivos actual está listo para funcionar; false en caso contrario. Por ejemplo, devuelve false si el volumen del CD no está insertado.
Tenga en cuenta que fileSystemType(), name(), bytesTotal(), bytesFree(), y bytesAvailable() devolverán datos inválidos hasta que el volumen esté listo.
Véase también isValid().
bool QStorageInfo::isRoot() const
Devuelve true si este QStorageInfo representa el volumen raíz del sistema; false en caso contrario.
En sistemas de archivos Unix, el volumen raíz es un volumen montado en /. En Windows, el volumen raíz es el volumen donde está instalado el sistema operativo.
Véase también root().
bool QStorageInfo::isValid() const
Devuelve true si el QStorageInfo especificado por rootPath existe y está montado correctamente.
Véase también isReady().
[static] QList<QStorageInfo> QStorageInfo::mountedVolumes()
Devuelve la lista de objetos QStorageInfo que corresponde a la lista de sistemas de archivos montados actualmente.
En Windows, devuelve las unidades visibles en la carpeta Mi PC. En los sistemas operativos Unix, devuelve la lista de todos los sistemas de archivos montados (excepto los pseudosistemas de archivos).
Devuelve por defecto todos los sistemas de ficheros montados actualmente.
El ejemplo muestra cómo recuperar todos los sistemas de archivos disponibles, omitiendo los de sólo lectura.
foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) { if (storage.isValid() && storage.isReady()) { if (!storage.isReadOnly()) { // ... } } }
Véase también root().
QString QStorageInfo::name() const
Devuelve el nombre legible por humanos de un sistema de archivos, normalmente llamado label.
No todos los sistemas de ficheros soportan esta característica. En este caso, el valor devuelto por este método podría estar vacío. Se devuelve una cadena vacía si el sistema de ficheros no soporta etiquetas, o si no se establece ninguna etiqueta.
En Linux, la recuperación de la etiqueta del volumen requiere que udev esté presente en el sistema.
Véase también fileSystemType().
void QStorageInfo::refresh()
Restablece la caché interna de QStorageInfo.
QStorageInfo Almacena en caché información sobre el almacenamiento para acelerar el rendimiento. QStorageInfo recupera la información durante la construcción del objeto y/o al llamar al método setPath(). Tienes que restablecer manualmente la caché llamando a esta función para actualizar la información de almacenamiento.
[static] QStorageInfo QStorageInfo::root()
Devuelve un objeto QStorageInfo que representa el volumen raíz del sistema.
En sistemas Unix esta llamada devuelve el volumen raíz ('/'); en Windows el volumen donde está instalado el sistema operativo.
Véase también isRoot().
QString QStorageInfo::rootPath() const
Devuelve el punto de montaje del sistema de archivos que representa este objeto QStorageInfo.
En Windows, devuelve la letra del volumen en caso de que el volumen no esté montado en un directorio.
Tenga en cuenta que el valor devuelto por rootPath() es el punto de montaje real de un volumen, y puede no ser igual al valor pasado al constructor o al método setPath(). Por ejemplo, si sólo tienes el volumen raíz en el sistema, y pasas '/directorio' a setPath(), entonces este método devolverá '/'.
Véase también setPath() y device().
void QStorageInfo::setPath(const QString &path)
Establece este objeto QStorageInfo en el sistema de ficheros montado donde se encuentra path.
path puede ser una ruta raíz del sistema de archivos, un directorio o un archivo dentro de ese sistema de archivos.
Véase también rootPath().
QByteArray QStorageInfo::subvolume() const
Devuelve el nombre del subvolumen para este volumen.
Algunos tipos de sistemas de ficheros permiten múltiples subvolúmenes dentro de un dispositivo, que pueden ser montados en diferentes rutas (por ejemplo, montajes 'bind' en Unix, o subvolúmenes del sistema de ficheros Btrfs). Si el subvolumen puede ser detectado, su nombre es devuelto por esta función. El formato del nombre del subvolumen es específico para cada tipo de sistema de ficheros.
Si este volumen no fue montado desde un subvolumen de un sistema de ficheros mayor o si el subvolumen no pudo ser detectado, esta función devuelve una matriz de bytes vacía.
Véase también device().
[noexcept] void QStorageInfo::swap(QStorageInfo &other)
Intercambia esta información de volumen con other. Esta operación es muy rápida y nunca falla.
[noexcept] QStorageInfo &QStorageInfo::operator=(QStorageInfo &&other)
Mover-asigna other a esta instancia QStorageInfo.
El objeto movido desde other se coloca en un estado válido, pero no especificado.
QStorageInfo &QStorageInfo::operator=(const QStorageInfo &other)
Hace una copia del objeto QStorageInfo other y lo asigna a este objeto QStorageInfo.
No miembros relacionados
[noexcept] bool operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs)
Devuelve true si el objeto QStorageInfo lhs se refiere a una unidad o volumen diferente del objeto QStorageInfo rhs ; en caso contrario devuelve false.
[noexcept] bool operator==(const QStorageInfo &lhs, const QStorageInfo &rhs)
Devuelve true si el objeto QStorageInfo lhs se refiere a la misma unidad o volumen que el objeto QStorageInfo rhs ; en caso contrario devuelve false.
Tenga en cuenta que el resultado de comparar dos objetos QStorageInfo no válidos es siempre positivo.
© 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.