QStorageInfo Class

Liefert Informationen über die aktuell eingebundenen Speicher und Laufwerke. Mehr...

Kopfzeile: #include <QStorageInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Diese Klasse ist gleichwertig vergleichbar.

Öffentliche Funktionen

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

Statische öffentliche Mitglieder

QList<QStorageInfo> mountedVolumes()
QStorageInfo root()
bool operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs)
bool operator==(const QStorageInfo &lhs, const QStorageInfo &rhs)

Detaillierte Beschreibung

Ermöglicht das Abrufen von Informationen über den Speicherplatz des Datenträgers, seinen Einhängepunkt, sein Label und den Namen des Dateisystems.

Sie können eine Instanz von QStorageInfo erstellen, indem Sie den Pfad zum Einhängepunkt des Datenträgers als Konstruktorparameter übergeben, oder Sie können ihn mit der Methode setPath() setzen. Die statische Methode mountedVolumes() kann verwendet werden, um die Liste aller eingebundenen Dateisysteme zu erhalten.

QStorageInfo speichert die abgerufenen Informationen immer im Cache, aber Sie können refresh() aufrufen, um den Cache zu deaktivieren.

Das folgende Beispiel ruft die häufigsten Informationen über das Root-Volume des Systems ab und gibt Informationen darüber aus.

    QStorageInfo storage = QStorageInfo::root();
    qDebug() << storage.rootPath();
   if (speicher.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";

Dokumentation der Mitgliederfunktionen

QStorageInfo::QStorageInfo()

Konstruiert ein leeres QStorageInfo-Objekt.

Objekte, die mit dem Standardkonstruktor erstellt werden, sind ungültig und daher nicht einsatzbereit.

Siehe auch setPath(), isReady(), und isValid().

[explicit] QStorageInfo::QStorageInfo(const QDir &dir)

Konstruiert ein neues QStorageInfo-Objekt, das Informationen über das Volume mit dem Ordner dir enthält.

[explicit] QStorageInfo::QStorageInfo(const QString &path)

Konstruiert ein neues QStorageInfo-Objekt, das Informationen über das unter path gemountete Volume enthält.

Wenn Sie ein Verzeichnis oder eine Datei übergeben, verweist das QStorageInfo-Objekt auf den Datenträger, auf dem sich dieses Verzeichnis oder diese Datei befindet. Sie können überprüfen, ob das erstellte Objekt korrekt ist, indem Sie die Methode isValid() verwenden.

Das folgende Beispiel zeigt, wie man den Datenträger, auf dem sich die Anwendung befindet, ermittelt. Es wird empfohlen, immer zu prüfen, ob der Datenträger bereit und gültig ist.

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

Siehe auch setPath().

QStorageInfo::QStorageInfo(const QStorageInfo &other)

Konstruiert ein neues QStorageInfo-Objekt, das eine Kopie des other QStorageInfo-Objekts ist.

[noexcept] QStorageInfo::~QStorageInfo()

Zerstört das Objekt QStorageInfo und gibt seine Ressourcen frei.

int QStorageInfo::blockSize() const

Gibt die optimale Größe der Übertragungsblöcke für dieses Dateisystem zurück.

Gibt -1 zurück, wenn QStorageInfo die Größe nicht ermitteln konnte oder wenn das QStorageInfo Objekt nicht gültig ist.

qint64 QStorageInfo::bytesAvailable() const

Gibt die für den aktuellen Benutzer verfügbare Größe (in Bytes) zurück. Sie gibt die gesamte verfügbare Größe zurück, wenn der Benutzer der Root-Benutzer oder ein Systemadministrator ist.

Diese Größe kann kleiner oder gleich der freien Größe sein, die von der Funktion bytesFree() zurückgegeben wird.

Gibt -1 zurück, wenn das Objekt QStorageInfo nicht gültig ist.

Siehe auch bytesTotal() und bytesFree().

qint64 QStorageInfo::bytesFree() const

Gibt die Anzahl der freien Bytes in einem Volume zurück. Beachten Sie, dass dieser Wert größer sein kann als der von bytesAvailable() zurückgegebene Wert, wenn Quotas auf dem Dateisystem vorhanden sind.

Gibt -1 zurück, wenn das Objekt QStorageInfo nicht gültig ist.

Siehe auch bytesTotal() und bytesAvailable().

qint64 QStorageInfo::bytesTotal() const

Gibt die Gesamtgröße des Volumes in Bytes zurück.

Gibt -1 zurück, wenn das Objekt QStorageInfo nicht gültig ist.

Siehe auch bytesFree() und bytesAvailable().

QByteArray QStorageInfo::device() const

Gibt das Gerät für dieses Volume zurück.

Auf Unix-Dateisystemen (einschließlich macOS) wird z. B. der devpath wie /dev/sda0 für lokale Speicher zurückgegeben. Unter Windows wird für lokale Speicher der UNC-Pfad zurückgegeben, der mit \\\\?\\ beginnt (in anderen Worten, die Volume-GUID).

Siehe auch rootPath() und subvolume().

QString QStorageInfo::displayName() const

Gibt den Namen des Datenträgers zurück, falls verfügbar, oder den Wurzelpfad, falls nicht.

QByteArray QStorageInfo::fileSystemType() const

Gibt den Typnamen des Dateisystems zurück.

Dies ist eine plattformabhängige Funktion, und die Namen von Dateisystemen können von Betriebssystem zu Betriebssystem variieren. Unter Windows können die Dateisysteme zum Beispiel NTFS heißen, unter Linux ntfs-3g oder fuseblk.

Siehe auch name().

bool QStorageInfo::isReadOnly() const

Gibt true zurück, wenn das aktuelle Dateisystem vor dem Schreiben geschützt ist; andernfalls false.

bool QStorageInfo::isReady() const

Gibt true zurück, wenn das aktuelle Dateisystem betriebsbereit ist; andernfalls false. Zum Beispiel wird false zurückgegeben, wenn der CD-Datenträger nicht eingelegt ist.

Beachten Sie, dass fileSystemType(), name(), bytesTotal(), bytesFree() und bytesAvailable() ungültige Daten zurückgeben, bis der Datenträger bereit ist.

Siehe auch isValid().

bool QStorageInfo::isRoot() const

Gibt true zurück, wenn diese QStorageInfo das Root-Volume des Systems darstellt; andernfalls false.

Auf Unix-Dateisystemen ist das Root-Volume ein auf / gemountetes Volume. Unter Windows ist das Root-Volume das Volume, auf dem das Betriebssystem installiert ist.

Siehe auch root().

bool QStorageInfo::isValid() const

Gibt true zurück, wenn die durch rootPath angegebene QStorageInfo existiert und korrekt eingehängt ist.

Siehe auch isReady().

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

Gibt die Liste der QStorageInfo Objekte zurück, die der Liste der aktuell eingebundenen Dateisysteme entspricht.

Unter Windows werden die im Ordner "Arbeitsplatz" sichtbaren Laufwerke zurückgegeben. Unter Unix-Betriebssystemen wird die Liste aller eingehängten Dateisysteme zurückgegeben (mit Ausnahme von Pseudodateisystemen).

Gibt standardmäßig alle aktuell eingebundenen Dateisysteme zurück.

Das Beispiel zeigt, wie alle verfügbaren Dateisysteme abgerufen werden können, wobei schreibgeschützte Systeme übersprungen werden.

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

Siehe auch root().

QString QStorageInfo::name() const

Gibt den menschenlesbaren Namen eines Dateisystems zurück, der normalerweise label heißt.

Nicht alle Dateisysteme unterstützen diese Funktion. In diesem Fall kann der von dieser Methode zurückgegebene Wert leer sein. Eine leere Zeichenkette wird zurückgegeben, wenn das Dateisystem keine Labels unterstützt oder wenn kein Label gesetzt ist.

Unter Linux ist es erforderlich, dass udev im System vorhanden ist, um das Label des Volumes abzurufen.

Siehe auch fileSystemType().

void QStorageInfo::refresh()

Setzt den internen Cache von QStorageInfo zurück.

QStorageInfo Der Cache speichert Informationen über die Speicherung, um die Leistung zu beschleunigen. QStorageInfo ruft die Informationen während der Objektkonstruktion und/oder beim Aufruf der Methode setPath() ab. Sie müssen den Cache manuell zurücksetzen, indem Sie diese Funktion aufrufen, um die Speicherinformationen zu aktualisieren.

[static] QStorageInfo QStorageInfo::root()

Gibt ein QStorageInfo Objekt zurück, das das Stammvolume des Systems darstellt.

Auf Unix-Systemen gibt dieser Aufruf das Root-Volume ('/') zurück; unter Windows das Volume, auf dem das Betriebssystem installiert ist.

Siehe auch isRoot().

QString QStorageInfo::rootPath() const

Gibt den Einhängepunkt des Dateisystems zurück, das dieses QStorageInfo Objekt repräsentiert.

Unter Windows wird der Laufwerksbuchstabe zurückgegeben, falls das Laufwerk nicht in ein Verzeichnis eingebunden ist.

Beachten Sie, dass der von rootPath() zurückgegebene Wert der tatsächliche Einhängepunkt eines Datenträgers ist und nicht unbedingt mit dem Wert übereinstimmt, der an den Konstruktor oder die Methode setPath() übergeben wurde. Wenn Sie zum Beispiel nur das Root-Volume im System haben und setPath() '/directory' übergeben, gibt diese Methode '/' zurück.

Siehe auch setPath() und device().

void QStorageInfo::setPath(const QString &path)

Setzt dieses QStorageInfo Objekt auf das gemountete Dateisystem, in dem sich path befindet.

path kann entweder ein Wurzelpfad des Dateisystems, ein Verzeichnis oder eine Datei innerhalb dieses Dateisystems sein.

Siehe auch rootPath().

QByteArray QStorageInfo::subvolume() const

Gibt den Namen des Subvolumes für dieses Volume zurück.

Einige Dateisystemtypen erlauben mehrere Subvolumes innerhalb eines Geräts, die in verschiedenen Pfaden gemountet sein können (z.B. 'bind'-Mounts unter Unix oder Btrfs-Dateisystem-Subvolumes). Wenn das Subvolume erkannt werden konnte, wird sein Name von dieser Funktion zurückgegeben. Das Format des Subvolume-Namens ist für jeden Dateisystemtyp spezifisch.

Wenn dieses Volume nicht von einem Subvolume eines größeren Dateisystems gemountet wurde oder wenn das Subvolume nicht erkannt werden konnte, gibt diese Funktion ein leeres Byte-Array zurück.

Siehe auch device().

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

Tauscht diese Volume-Info mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.

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

Weist other dieser QStorageInfo Instanz zu.

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

Erstellt eine Kopie des Objekts QStorageInfo other und ordnet es diesem Objekt QStorageInfo zu.

Verwandte Nicht-Mitglieder

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

Gibt true zurück, wenn das Objekt QStorageInfo lhs auf ein anderes Laufwerk oder einen anderen Datenträger verweist als das Objekt QStorageInfo rhs ; andernfalls wird false zurückgegeben.

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

Gibt true zurück, wenn das Objekt QStorageInfo lhs auf das gleiche Laufwerk oder den gleichen Datenträger verweist wie das Objekt QStorageInfo rhs ; andernfalls wird false zurückgegeben.

Beachten Sie, dass das Ergebnis des Vergleichs zweier ungültiger QStorageInfo Objekte immer positiv ist.

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