QStorageInfo Class

現在マウントされているストレージとドライブに関する情報を提供する。詳細...

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

このクラスは等価比較可能です。

パブリック関数

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)

静的パブリックメンバ

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

詳細説明

ボリュームの領域、マウントポイント、ラベル、およびファイルシステム名に関する情報を取得できます。

QStorageInfo のインスタンスを作成するには、ボリュームのマウントポイントへのパスをコンストラクタのパラメータとして渡すか、setPath() メソッドを使用して設定します。staticmountedVolumes() メソッドを使用すると、マウントされているすべてのファイルシステムのリストを取得できます。

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()

空の QStorageInfo オブジェクトを構築します。

デフォルトのコンストラクタで作成されたオブジェクトは無効であるため、使用できません。

setPath()、isReady()、isValid()も参照してください

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

dir フォルダを含むボリュームに関する情報を提供する新しい QStorageInfo オブジェクトを構築します。

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

path にマウントされたボリュームに関する情報を提供する新しい QStorageInfo オブジェクトを構築します。

ディレクトリまたはファイルを渡すと、QStorageInfo オブジェクトは、このディレクトリまたはファイルがあるボリュームを参照します。作成されたオブジェクトが正しいかどうかは、isValid() メソッドを使用して確認できます。

次の例では、アプリケーションが置かれているボリュームを取得する方法を示します。ボリュームが準備できており、有効であることを常に確認することをお勧めします。

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

setPath()も参照してください

QStorageInfo::QStorageInfo(const QStorageInfo &other)

other QStorageInfo オブジェクトのコピーである新しい QStorageInfo オブジェクトを構築します。

[noexcept] QStorageInfo::~QStorageInfo()

QStorageInfo オブジェクトを破棄し、そのリソースを解放します。

int QStorageInfo::blockSize() const

このファイルシステムに最適な転送ブロック・サイズを返します。

QStorageInfo がサイズを決定できなかった場合、またはQStorageInfo オブジェクトが有効でない場合は -1 を返します。

qint64 QStorageInfo::bytesAvailable() const

現在のユーザーが利用可能なサイズ(バイト単位)を返します。ユーザーがルート・ユーザーまたはシステム管理者である場合は、利用可能なサイズの合計を返す。

このサイズは、bytesFree() 関数によって返されるフリー・サイズ以下である可能性がある。

QStorageInfo オブジェクトが有効でない場合は -1 を返す。

bytesTotal() およびbytesFree()も参照

qint64 QStorageInfo::bytesFree() const

ボリュームの空きバイト数を返します。ファイルシステムにクォータがある場合、この値はbytesAvailable() が返す値よりも大きくなる可能性があることに注意。

QStorageInfo オブジェクトが有効でない場合は -1 を返す。

bytesTotal() およびbytesAvailable()も参照して ください。

qint64 QStorageInfo::bytesTotal() const

ボリュームの合計サイズをバイト単位で返します。

QStorageInfo オブジェクトが有効でない場合は -1 を返します。

bytesFree() およびbytesAvailable() も参照して ください。

QByteArray QStorageInfo::device() const

このボリュームのデバイスを返します。

たとえば、Unixファイルシステム(macOSを含む)では、/dev/sda0 のようにローカル・ストレージのdevpathを返します。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 を返す。例えば、CDボリュームが挿入されていない場合はfalseが返される。

fileSystemType()、name()、bytesTotal()、bytesFree()、bytesAvailable() は、ボリュームの準備が整うまで無効なデータを返すことに注意。

isValid()も参照

bool QStorageInfo::isRoot() const

このQStorageInfo がシステム・ルート・ボリュームを表している場合は true を返し、そうでない場合は false を返します。

Unix ファイルシステムでは、ルート・ボリュームは/ にマウントされたボリュームです。Windows では、ルート・ボリュームは OS がインストールされているボリュームです。

root()も参照して ください。

bool QStorageInfo::isValid() const

rootPath で指定されたQStorageInfo が存在し、正しくマウントされている場合は true を返します。

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() メソッドに渡された値とは異なる場合があることに注意してください。たとえば、システムにルートボリュームしかなく、setPath() に '/directory' を渡した場合、このメソッドは '/' を返します。

setPath() およびdevice()も参照

void QStorageInfo::setPath(const QString &path)

path がマウントされているファイルシステムに、このQStorageInfo オブジェクトを設定します。

path ファイルシステムのルートパス、ディレクトリ、またはファイルシステム内のファイルのいずれかを指定します。

rootPath()も参照してください

QByteArray QStorageInfo::subvolume() const

このボリュームのサブボリューム名を返します。

ファイルシステムの種類によっては、1つのデバイス内に複数のサブボリュームを持つことができ、それらは異なるパスにマウントされることがあります(Unixの'bind'マウントやBtrfsファイルシステムのサブボリュームなど)。サブボリュームが検出された場合、その名前がこの関数によって返されます。サブボリューム名のフォーマットは、各ファイルシステムタイプに固有です。

このボリュームがより大きなファイルシステムのサブボリュームからマウントされていない場合、またはサブボリュームを検出できなかった場合、この関数は空のバイト配列を返します。

device()も参照

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

このボリューム情報をother と交換する。この関数は非常に高速で、失敗することはありません。

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

このQStorageInfo インスタンスにother を割り当てます。

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

QStorageInfo オブジェクトother のコピーを作成し、このQStorageInfo オブジェクトに割り当てます。

関連する非メンバー

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

QStorageInfo オブジェクトlhsQStorageInfo オブジェクトrhs と異なるドライブまたはボリュームを参照している場合はtrue を返し、そうでない場合はfalse を返します。

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

QStorageInfo オブジェクトlhsQStorageInfo オブジェクトrhs と同じドライブまたはボリュームを参照している場合はtrue を返し、そうでない場合はfalse を返します。

つの無効なQStorageInfo オブジェクトを比較した結果は、常に正になることに注意してください。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。