Spec-Zone.ru › Qt 6.1

Класс QStorageInfo

Предоставляет информацию о подключенных хранилищах и дисках. Подробнее...

Заголовок: #include <QStorageInfo>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.4
  • Список всех членов, включая унаследованные

Открытые функции

QStorageInfo(const QStorageInfo &other)
QStorageInfo(const QDir &dir)
QStorageInfo(const QString &path)
QStorageInfo()
QStorageInfo & operator=(QStorageInfo &&other)
QStorageInfo & operator=(const 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)

Статические открытые члены

QList<QStorageInfo> mountedVolumes()
QStorageInfo root()

Связанные нечлены

bool operator!=(const QStorageInfo &first, const QStorageInfo &second)
bool operator==(const QStorageInfo &first, const QStorageInfo &second)

Подробное описание

Позволяет получать информацию о объеме, его точке монтирования, метке и имени файловой системы.

Вы можете создать экземпляр QStorageInfo, передав путь к точке монтирования тома в качестве параметра конструктора, или установить его с помощью метода setPath(). Статический метод mountedVolumes() может быть использован для получения списка всех смонтированных файловых систем.

QStorageInfo всегда кэширует полученную информацию, но вы можете вызвать refresh() для очистки кэша.

Следующий пример получает наиболее общую информацию о корневом томе системы и выводит информацию о нём.

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

Документация по функциям-членам

QStorageInfo::QStorageInfo(const QStorageInfo &other)

Создаёт новый объект QStorageInfo, являющийся копией объекта QStorageInfo other.

QStorageInfo::QStorageInfo(const QDir &dir)

Создаёт новый объект QStorageInfo, который содержит информацию о томе, содержащем папку dir.

QStorageInfo::QStorageInfo(const QString &path)

Создаёт новый объект QStorageInfo, который содержит информацию о томе, смонтированном по пути path.

Если вы передаёте директорию или файл, объект QStorageInfo будет ссылаться на том, где расположена эта директория или файл. Вы можете проверить, является ли созданный объект корректным, используя метод isValid().

Следующий пример показывает, как получить том, на котором расположены приложение. Рекомендуется всегда проверять, что том готов и действителен.

    QStorageInfo storage(qApp->applicationDirPath());
    if (storage.isValid() && storage.isReady()) {
        // ...
    }

См. также setPath().

QStorageInfo::QStorageInfo()

Создаёт пустой объект QStorageInfo.

Объекты, созданные с помощью конструктора по умолчанию, будут недействительными и поэтому не готовы к использованию.

См. также setPath(), isReady() и isValid().

QStorageInfo &QStorageInfo::operator=(QStorageInfo &&other)

Присваивает other экземпляру QStorageInfo.

QStorageInfo &QStorageInfo::operator=(const QStorageInfo &other)

Создаёт копию объекта QStorageInfo other и присваивает её текущему объекту QStorageInfo.

QStorageInfo::~QStorageInfo()

Удаляет объект QStorageInfo и освобождает его ресурсы.

[since 5.6] int QStorageInfo::blockSize() const

Возвращает оптимальный размер блока передачи для этой файловой системы.

Возвращает -1, если QStorageInfo не смог определить размер или если объект QStorageInfo недействителен.

Эта функция была добавлена в Qt 5.6.

qint64 QStorageInfo::bytesAvailable() const

Возвращает размер (в байтах), доступный для текущего пользователя. Возвращает общий доступный размер, если пользователь является root пользователем или системным администратором.

Этот размер может быть меньше или равен свободному размеру, возвращаемому функцией bytesFree().

Возвращает -1, если объект QStorageInfo недействителен.

См. также bytesTotal() и bytesFree().

qint64 QStorageInfo::bytesFree() const

Возвращает количество свободных байтов в томе. Обратите внимание, что если на файловой системе существуют квоты, это значение может быть больше, чем значение, возвращаемое функцией bytesAvailable().

Возвращает -1, если объект QStorageInfo недействителен.

См. также bytesTotal() и bytesAvailable().

qint64 QStorageInfo::bytesTotal() const

Возвращает общий размер тома в байтах.

Возвращает -1, если объект QStorageInfo недействителен.

См. также bytesFree() и bytesAvailable().

QByteArray QStorageInfo::device() const

Возвращает устройство для данного тома.

Например, в файловых системах Unix (включая macOS) возвращает devpath, например, /dev/sda0 для локальных хранилищ. В Windows возвращает UNC-путь, начинающийся с \\\\?\\ для локальных хранилищ (другими словами, GUID тома).

См. также rootPath() и subvolume().

QString QStorageInfo::displayName() const

Возвращает имя тома, если оно доступно, или корневой путь, если нет.

QByteArray QStorageInfo::fileSystemType() const

Возвращает имя типа файловой системы.

Это платформа-зависимая функция, и имена файловых систем могут различаться в разных операционных системах. Например, в Windows файловые системы могут называться NTFS, а в Linux — ntfs-3g или fuseblk.

См. также name().

bool QStorageInfo::isReadOnly() const

Возвращает true, если текущая файловая система защищена от записи; в противном случае — false.

bool QStorageInfo::isReady() const

Возвращает true, если текущая файловая система готова к работе; в противном случае — false. Например, false возвращается, если диск CD не вставлен.

Обратите внимание, что fileSystemType(), name(), bytesTotal(), bytesFree() и bytesAvailable() будут возвращать недопустимые данные до тех пор, пока том не будет готов.

См. также isValid().

bool QStorageInfo::isRoot() const

Возвращает true, если этот QStorageInfo представляет корневой том системы; в противном случае — false.

В Unix-файловых системах корневой том — это том, смонтированный на /. В Windows корневой том — это том, на котором установлена ОС.

См. также root().

bool QStorageInfo::isValid() const

Возвращает true, если QStorageInfo, указанный rootPath, существует и правильно смонтирован.

См. также isReady().

[static] QList<QStorageInfo> QStorageInfo::mountedVolumes()

Возвращает список объектов QStorageInfo, соответствующий списку текущих смонтированных файловых систем.

В Windows возвращает диски, видимые в папке Мой компьютер. В Unix-системах возвращает список всех смонтированных файловых систем (кроме псевдофайловых систем).

По умолчанию возвращает все текущие смонтированные файловые системы.

Пример показывает, как получить доступ ко всем доступным файловым системам, пропуская только те, которые доступны только для чтения.

    foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) {
        if (storage.isValid() && storage.isReady()) {
            if (!storage.isReadOnly()) {
                // ...
            }
        }
    }

См. также root().

QString QStorageInfo::name() const

Возвращает удобочитаемое имя файловой системы, обычно называемое label.

Не все файловые системы поддерживают эту функцию. В этом случае возвращаемое значение этого метода может быть пустым. Пустая строка возвращается, если файловая система не поддерживает метки или метка не установлена.

В Linux для получения метки тома необходимо, чтобы udev был присутствующим в системе.

См. также fileSystemType().

void QStorageInfo::refresh()

Сбрасывает внутренший кэш QStorageInfo.

QStorageInfo кэширует информацию о хранилище для ускорения производительности. QStorageInfo извлекает информацию во время создания объекта и/или при вызове метода setPath(). Для обновления информации о хранилище необходимо вручную сбросить кэш, вызвав эту функцию.

[static] QStorageInfo QStorageInfo::root()

Возвращает объект QStorageInfo, представляющий корневой том системы.

В Unix-системах этот вызов возвращает корневой ('/') том; в Windows — том, на котором установлена операционная система.

См. также isRoot().

QString QStorageInfo::rootPath() const

Возвращает точку монтирования файловой системы, которую представляет этот объект QStorageInfo.

В Windows возвращает букву тома в случае, если том не смонтирован в каталог.

Обратите внимание, что возвращаемое значение rootPath() — это реальная точка монтирования тома и может не совпадать со значением, переданным в конструктор или метод setPath(). Например, если в системе есть только корневой том, а вы передали '/directory' в setPath(), то этот метод вернёт '/'.

См. также setPath() и device().

void QStorageInfo::setPath(const QString &path)

Устанавливает этот объект QStorageInfo на файловую систему, смонтированную в том месте, где находится path.

path может быть корневым путём файловой системы, каталогом или файлом в этой файловой системе.

См. также rootPath().

[since 5.9] QByteArray QStorageInfo::subvolume() const

Возвращает имя подтома для данного тома.

Некоторые типы файловых систем допускают несколько подтомов внутри одного устройства, которые могут быть смонтированы в различных путях. Если подтом был обнаружен, он возвращается здесь. Формат имени подтома специфичен для каждого типа файловой системы.

Если данный том не был смонтирован из подтома более крупной файловой системы или если подтом не был обнаружен, эта функция возвращает пустой массив байтов.

Эта функция была добавлена в Qt 5.9.

См. также device().

void QStorageInfo::swap(QStorageInfo &other)

Меняет местами информацию о данном томе с other. Эта функция очень быстрая и никогда не завершается ошибкой.

Связанные нечлены

bool operator!=(const QStorageInfo &first, const QStorageInfo &second)

Возвращает true, если первый объект QStorageInfo ссылается на другой диск или том, чем второй; в противном случае возвращает false.

bool operator==(const QStorageInfo &first, const QStorageInfo &second)

Возвращает true, если первый объект QStorageInfo ссылается на тот же диск или том, что и второй; в противном случае возвращает false.

Обратите внимание, что результат сравнения двух недействительных объектов QStorageInfo всегда положителен.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qstorageinfo.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API