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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QStorageInfo ist Teil von Input/Output und Networking und Implicitly Shared Classes.
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() |
Verwandte Nicht-Mitglieder
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.