QStorageInfo Class
Bietet Informationen zu den derzeit eingebundenen Speichermedien und Laufwerken. Mehr...
| Überschrift: | #include <QStorageInfo> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QStorageInfo gehört zu den Kategorien „Eingabe/Ausgabe und Netzwerk “ sowie „Implizit gemeinsam genutzte Klassen“.
Vergleiche zu QStorageInfo
| Kategorie | Vergleichbare Typen |
|---|---|
| Gleichheit | QStorageInfo |
Öffentliche Funktionen
| 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) |
Statische öffentliche Mitglieder
| QList<QStorageInfo> | mountedVolumes() |
| QStorageInfo | root() |
Verwandte Nicht-Mitglieder
| bool | operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs) |
| bool | operator==(const QStorageInfo &lhs, const QStorageInfo &rhs) |
Ausführliche Beschreibung
Ermöglicht das Abrufen von Informationen über den Speicherplatz des Volumes, seinen Einhängepunkt, seine Bezeichnung und den Namen des Dateisystems.
Sie können eine Instanz von `QStorageInfo` erstellen, indem Sie den Pfad zum Einhängepunkt des Volumes als Konstruktorparameter übergeben, oder Sie können diesen über die Methode ` setPath()` festlegen. Mit der statischen Methode ` mountedVolumes()` können Sie die Liste aller eingehängten Dateisysteme abrufen.
QStorageInfo speichert die abgerufenen Informationen stets im Cache, Sie können jedoch die Methode ` refresh()` aufrufen, um den Cache zu leeren.
Das folgende Beispiel ruft die gängigsten Informationen zum Stammvolume des Systems ab und gibt diese aus.
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";Dokumentation zu Member-Funktionen
QStorageInfo::QStorageInfo()
Erstellt ein leeres QStorageInfo-Objekt.
Mit dem Standardkonstruktor erstellte Objekte sind ungültig und daher nicht einsatzbereit.
Siehe auch setPath(), isReady() und isValid().
[explicit] QStorageInfo::QStorageInfo(const QDir &dir)
Erstellt ein neues QStorageInfo-Objekt, das Informationen über das Volume liefert, auf dem sich der Ordner „ dir “ befindet.
[explicit] QStorageInfo::QStorageInfo(const QString &path)
Erstellt ein neues QStorageInfo-Objekt, das Informationen über das unter path eingebundene Volume liefert.
Wenn Sie ein Verzeichnis oder eine Datei übergeben, verweist das QStorageInfo-Objekt auf das Volume, auf dem sich dieses Verzeichnis oder diese Datei befindet. Mit der Methode ` isValid()` können Sie überprüfen, ob das erstellte Objekt korrekt ist.
Das folgende Beispiel zeigt, wie Sie das Volume abrufen, auf dem sich die Anwendung befindet. Es wird empfohlen, stets zu prüfen, ob das Volume bereit und gültig ist.
QStorageInfo storage(qApp->applicationDirPath());
if (storage.isValid() && storage.isReady()) {
// ...
}Siehe auch „ setPath()“.
QStorageInfo::QStorageInfo(const QStorageInfo &other)
Erstellt ein neues `QStorageInfo`-Objekt, das eine Kopie des ` other `-`QStorageInfo`-Objekts ist.
[constexpr noexcept default, since 6.10] QStorageInfo::QStorageInfo(QStorageInfo &&other)
Erstellt mittels „Move“ ein neues `QStorageInfo`-Objekt aus ` other`.
Das Objekt „ other “, aus dem die Verschiebung erfolgt, wird in einen teilweise ausgebildeten Zustand versetzt, in dem die einzigen gültigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.
Diese Funktion wurde in Qt 6.10 eingeführt.
[noexcept] QStorageInfo::~QStorageInfo()
Löscht das „ QStorageInfo “-Objekt und gibt dessen Ressourcen frei.
int QStorageInfo::blockSize() const
Gibt die optimale Übertragungsblockgröße für dieses Dateisystem zurück.
Gibt -1 zurück, wenn „ QStorageInfo “ die Größe nicht ermitteln konnte oder wenn das Objekt „ QStorageInfo “ ungültig ist.
qint64 QStorageInfo::bytesAvailable() const
Gibt die für den aktuellen Benutzer verfügbare Größe (in Byte) zurück. Ist der Benutzer der Root-Benutzer oder ein Systemadministrator, wird die insgesamt verfügbare Größe zurückgegeben.
Diese Größe kann kleiner oder gleich der von der Funktion ` bytesFree()` zurückgegebenen freien Größe sein.
Gibt -1 zurück, wenn das ` QStorageInfo `-Objekt ungü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 im Dateisystem Kontingente festgelegt sind.
Gibt -1 zurück, wenn das QStorageInfo -Objekt ungültig ist.
Siehe auch „ bytesTotal()“ und „ bytesAvailable()“.
qint64 QStorageInfo::bytesTotal() const
Gibt die Gesamtgröße des Volumes in Byte zurück.
Gibt -1 zurück, wenn das ` QStorageInfo `-Objekt ungültig ist.
Siehe auch „ bytesFree()“ und „ bytesAvailable()“.
QByteArray QStorageInfo::device() const
Gibt das Gerät für dieses Volume zurück.
Beispielsweise gibt diese Funktion auf Unix-Dateisystemen (einschließlich macOS) für lokale Speicher den devpath wie /dev/sda0 zurück. Unter Windows gibt sie für lokale Speicher den UNC-Pfad zurück, der mit \\\\?\\ beginnt (mit anderen Worten: die Volume-GUID).
Siehe auch rootPath() und subvolume().
QString QStorageInfo::displayName() const
Gibt den Namen des Volumes zurück, sofern vorhanden, andernfalls den Stammpfad.
QByteArray QStorageInfo::fileSystemType() const
Gibt den Typnamen des Dateisystems zurück.
Dies ist eine plattformabhängige Funktion, und die Namen von Dateisystemen können je nach Betriebssystem variieren. Beispielsweise können sie unter Windows „ NTFS “ heißen, unter Linux hingegen „ ntfs-3g “ oder „ fuseblk “.
Siehe auch name().
bool QStorageInfo::isReadOnly() const
Gibt „true“ zurück, wenn das aktuelle Dateisystem schreibgeschützt ist; andernfalls „false“.
bool QStorageInfo::isReady() const
Gibt „true“ zurück, wenn das aktuelle Dateisystem betriebsbereit ist; andernfalls „false“. Beispielsweise wird „false“ zurückgegeben, wenn das CD-Medium nicht eingelegt ist.
Beachten Sie, dass die Funktionen ` fileSystemType()`, ` name()`, ` bytesTotal()`, ` bytesFree()` und ` bytesAvailable()` ungültige Daten zurückgeben, bis der Datenträger betriebsbereit ist.
Siehe auch isValid().
bool QStorageInfo::isRoot() const
Gibt „true“ zurück, wenn diese „ QStorageInfo “ das System-Root-Volume darstellt; andernfalls „false“.
Bei Unix-Dateisystemen ist das Stammvolume ein Volume, das unter / eingebunden ist. Unter Windows ist das Stammvolume das Volume, auf dem das Betriebssystem installiert ist.
Siehe auch root().
bool QStorageInfo::isValid() const
Gibt „true“ zurück, wenn der unter rootPath angegebene „ QStorageInfo “ existiert und korrekt eingebunden ist.
Siehe auch ` isReady()`.
[static] QList<QStorageInfo> QStorageInfo::mountedVolumes()
Gibt die Liste der Objekte vom Typ „ QStorageInfo “ zurück, die der Liste der derzeit eingehängten Dateisysteme entspricht.
Unter Windows werden dabei die im Ordner „Arbeitsplatz“ sichtbaren Laufwerke zurückgegeben. Unter Unix-Betriebssystemen wird die Liste aller eingehängten Dateisysteme (mit Ausnahme von Pseudodateisystemen) zurückgegeben.
Standardmäßig werden alle derzeit eingebundenen Dateisysteme zurückgegeben.
Das Beispiel zeigt, wie man alle verfügbaren Dateisysteme abruft und dabei schreibgeschützte Dateisysteme überspringt.
foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes()) {
if (storage.isValid() && storage.isReady()) {
if (!storage.isReadOnly()) {
// ...
}
}
}Siehe auch ` root()`
QString QStorageInfo::name() const
Gibt den für Menschen lesbaren Namen eines Dateisystems zurück, der üblicherweise als „ label “ bezeichnet wird.
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 Bezeichnungen unterstützt oder wenn keine Bezeichnung festgelegt ist.
Unter Linux setzt das Abrufen der Volume-Bezeichnung voraus, dass „ udev “ im System vorhanden ist.
Siehe auch ` fileSystemType()`.
void QStorageInfo::refresh()
Setzt den internen Cache von QStorageInfo zurück.
QStorageInfo Speichert Informationen über den Speicher, um die Leistung zu beschleunigen. „ QStorageInfo “ ruft diese Informationen während der Objekterstellung 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 System-Root-Volume darstellt.
Auf Unix-Systemen gibt dieser Aufruf das Stammverzeichnis („/“) 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 Volume nicht in ein Verzeichnis eingebunden ist.
Beachten Sie, dass der von `rootPath()` zurückgegebene Wert der tatsächliche Einhängepunkt eines Volumes ist und möglicherweise nicht mit dem Wert übereinstimmt, der an den Konstruktor oder die Methode ` setPath()` übergeben wurde. Wenn Sie beispielsweise nur das Root-Volume im System haben und `'/directory'` an ` setPath()` übergeben, gibt diese Methode `'/'` zurück.
Siehe auch setPath() und device().
void QStorageInfo::setPath(const QString &path)
Setzt dieses „ QStorageInfo “-Objekt auf das Dateisystem, in dem sich „ path “ befindet.
path kann entweder ein Stammpfad 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 unter verschiedenen Pfaden eingehängt werden können (z. B. „bind“-Einhängungen unter Unix oder Subvolumes des Btrfs-Dateisystems). 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 aus 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-Informationen mit „ other “ aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
[noexcept] QStorageInfo &QStorageInfo::operator=(QStorageInfo &&other)
Mit „Move-Assign“ wird „ other “ dieser „ QStorageInfo “-Instanz zugewiesen.
Das Objekt, von dem die Zuordnung verschoben wurde ( other ), wird in einen gültigen, aber nicht näher bezeichneten Zustand versetzt.
QStorageInfo &QStorageInfo::operator=(const QStorageInfo &other)
Erstellt eine Kopie des Objekts „ QStorageInfo “ other und weist sie diesem Objekt „ QStorageInfo “ zu.
Verwandte Nicht-Mitglieder
[noexcept] bool operator!=(const QStorageInfo &lhs, const QStorageInfo &rhs)
Gibt „ true “ zurück, wenn sich das Objekt „ QStorageInfo “ lhs auf ein anderes Laufwerk oder Volume bezieht 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 dasselbe Laufwerk oder denselben Datenträger verweist wie das Objekt „ QStorageInfo “ rhs; andernfalls wird „ false “ zurückgegeben.
Beachten Sie, dass das Ergebnis des Vergleichs zweier ungültiger Objekte vom Typ „ QStorageInfo “ immer positiv ist.
© 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.