このページでは

FolderListModel QML Type

FolderListModel は、ファイルシステムのフォルダの内容を表すモデルを提供します。詳細...

Import Statement: import Qt.labs.folderlistmodel

プロパティ

方法

詳細な説明

FolderListModel は、ローカルファイルシステム内のフォルダの内容に関する情報へのアクセスを提供し、ファイルの一覧をビューやその他のデータコンポーネントに公開します。

注:この型は 、Qt.labs.folderlistmodel モジュールをインポートすることで利用可能になります。Qt.labsモジュール内の要素は、将来のバージョンでも互換性が維持されるとは限りません。

注: FolderListModel の機能の一部は、 QFileSystemWatcher に依存しています。QFileSystemWatcher が無効になっている場合、setFolder で設定されたフォルダは変更の監視対象外となり、その結果、通常はディレクトリの変更時に発火するシグナル(directoryUpdated や directoryChanged など)は、手動でsetFolder を再度呼び出さない限り発火しません。詳細については、「Qt 設定オプション」を参照してください。

import Qt.labs.folderlistmodel

folder プロパティは、アクセスするフォルダを指定します。フォルダ内のファイルおよびディレクトリに関する情報は、モデルのインターフェースを介して提供されます。コンポーネントは、以下のロールを通じて名前やパスにアクセスします:

  • fileName (string)
  • filePath (string)
  • fileUrl (url) (Qt 5.15 以降)
  • fileBaseName (string)
  • fileSuffix (string)
  • fileSize (qlonglong)
  • fileModified (date)
  • fileAccessed (date)
  • fileIsDir (bool)

さらに、isFolder() メソッドを使用することで、ファイルエントリとフォルダエントリを区別することができます。

フィルタリング

モデルによって公開されるファイルやディレクトリの数をフィルタリングするために、さまざまなプロパティを設定することができます。

nameFilters プロパティには、ファイルやディレクトリの名前に適用されるワイルドカードフィルタのリストを設定することができ、フィルタに一致するものだけが公開されるようになります。

showDirs プロパティを使用してディレクトリを含めるか除外するか指定できます。また、showDotAndDotDot プロパティを false に設定することでナビゲーションディレクトリを除外したり、showHidden プロパティを使用して隠しファイルを含めるか除外するか指定したりすることもできます。

ユーザーがアクセスできるファイルやディレクトリのみを表示するように制限すると便利な場合があります。この機能を有効にするには、showOnlyReadable プロパティを設定します。

使用例

次の例は、ListView 内のQMLファイルの一覧を提供するためにFolderListModelを使用している例です:

import QtQuick
import Qt.labs.folderlistmodel

ListView {
    width: 200; height: 400

    FolderListModel {
        id: folderModel
        nameFilters: ["*.qml"]
    }

    Component {
        id: fileDelegate
        required property string fileName
        Text { text: fileName }
    }

    model: folderModel
    delegate: fileDelegate
}

パス区切り文字

Qt では、URL におけるパス区切り文字として「/」が使用されるのと同様に、「/」を汎用的なディレクトリ区切り文字として使用します。ディレクトリ区切り文字として常に「/」を使用する場合、Qt はパスを変換して、基盤となるオペレーティングシステムに準拠させます。

「QML データモデル」も参照してください 。

プロパティのドキュメント

caseSensitive : bool

大文字と小文字を区別するパターンマッチングを使用します。

デフォルトでは、このプロパティは true に設定されています。

count : int [read-only]

現在のフォルダ内で、フィルタ条件に一致する項目の数を返します。

folder : url

folder プロパティには、モデルが現在提供しているフォルダの URL が格納されます。

値は、file: またはqrc: で始まる URL、あるいは相対 URL でなければなりません。

デフォルト値は、FolderListModel が最初に初期化された時点でのアプリケーションの作業ディレクトリです。

nameFilters : list<string>

nameFilters プロパティには、ファイル名フィルターのリストが含まれています。フィルターには、ワイルドカード「?」および「*」を含めることができます。

以下の例は、PNG および JPEG ファイルをフィルタリングするものです。

FolderListModel {
    nameFilters: [ "*.png", "*.jpg" ]
}

注: フィルターによってディレクトリが 除外されることはありません。

parentFolder : url [read-only]

現在のfolder の親のURLを返します。

rootFolder : url

このプロパティを設定すると、指定されたフォルダがファイルシステムのルートとして扱われるため、そのフォルダ内のサブフォルダのみを移動できるようになります。

showDirs : bool

true の場合、ディレクトリもモデルに含まれます。そうでない場合は、ファイルのみが含まれます。

デフォルトでは、このプロパティは true です。

nameFilters はディレクトリには適用されないことに注意してください。

「showDotAndDotDot」も参照してください 。

showDirsFirst : bool

true の場合、モデルにディレクトリが含まれていると、常にディレクトリが最初に表示され、その後にファイルが表示されます。

デフォルトでは、このプロパティはfalseです。

showDot : bool [since 6.12]

true の場合、現在の「.」ディレクトリがモデルに含まれます。

デフォルトでは、このプロパティは false です。

このプロパティは Qt 6.12 で導入されました。

showDotAndDotDot およびshowDotDotも参照してください 。

showDotAndDotDot : bool

trueの場合、「.」および「..」ディレクトリがモデルに含まれます。そうでない場合は除外されます。

デフォルトでは、このプロパティの値は false です。

showDirs 、showDot 、およびshowDotDotも参照してください 。

showDotDot : bool [since 6.12]

true の場合、「..」(親)ディレクトリがモデルに含まれます。

デフォルトでは、このプロパティは false です。

このプロパティは Qt 6.12 で導入されました。

showDotAndDotDot およびshowDotも参照してください 。

showFiles : bool

trueの場合、ファイルもモデルに含まれます。そうでない場合は、ディレクトリのみが含まれます。

デフォルトでは、このプロパティの値は true です。

showDirsも参照してください 。

showHidden : bool

trueの場合、隠しファイルおよびディレクトリがモデルに含まれます。そうでない場合は除外されます。

デフォルトでは、このプロパティの値は false です。

showOnlyReadable : bool

trueの場合、読み取り可能なファイルとディレクトリのみが表示されます。それ以外の場合は、すべてのファイルとディレクトリが表示されます。

デフォルトでは、このプロパティは false です。

showDirsも参照してください 。

sortCaseSensitive : bool

true に設定すると、ソートは大文字と小文字を区別します。このプロパティのデフォルト値はtrue です。

sortField : enumeration

sortField プロパティには、ソートに使用するフィールドが格納されています。sortField には、以下のいずれかが指定されます。

定数説明
FolderListModel.Unsortedソートは適用されません
FolderListModel.Nameファイル名順に並べ替え(既定値)
FolderListModel.Time変更日時順に並べ替え
FolderListModel.Sizeファイルサイズ順
FolderListModel.Typeファイルの種類/拡張子で並べ替え

sortReversedも参照してください 。

sortReversed : bool

true に設定すると、ソート順が逆になります。デフォルトは false です。

sortFieldも参照してください 。

status : enumeration [read-only]

このプロパティは、フォルダの読み取りステータスを保持します。以下のいずれかになります:

定数説明
FolderListModel.Nullfolder が設定されていない
FolderListModel.Readyフォルダが読み込まれている
FolderListModel.Loadingフォルダが現在読み込み中

このステータスを使用して、最新情報を提供したり、ステータスの変更に対して何らかの対応を行ったりしてください。例えば、次のような処理が可能です:

  • 状態の変更をトリガーする:
    State { name: 'loaded'; when: folderModel.status == FolderListModel.Ready }
  • onStatusChanged シグナルハンドラを実装する:
    FolderListModel {
        id: folderModel
        onStatusChanged: if (folderModel.status == FolderListModel.Ready) console.log('Loaded')
    }
  • ステータス値にバインドする:
    Text { text: folderModel.status == FolderListModel.Ready ? 'Loaded' : 'Not loaded' }

メソッドのドキュメント

var get(int index, string property)

指定された `index` に対応するフォルダ `property ` を返します。以下のプロパティが利用可能です:

  • fileName (string)
  • filePath (string)
  • fileUrl (url) (Qt 5.15 以降)
  • fileBaseName (string)
  • fileSuffix (string)
  • fileSize (qlonglong)
  • fileModified (date)
  • fileAccessed (date)
  • fileIsDir (bool)

int indexOf(url file)

モデルに指定されたfile のURLが含まれている場合はそのインデックスを返し、含まれていない場合は-1を返します。

bool isFolder(int index)

エントリ「index 」がフォルダである場合はtrueを返し、そうでない場合はfalseを返します。

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