FileDialog QML Type
ファイル選択ダイアログ。詳細...
| Import Statement: | import QtQuick.Dialogs |
| Since: | Qt 6.2 |
| Inherits: |
プロパティ
- acceptLabel : string
- currentFolder : url
- defaultSuffix : string
- fileMode : enumeration
- nameFilters : list<string>
- options : flags
- rejectLabel : string
- selectedFile : url
- selectedFiles : list<url>
- selectedNameFilter
- selectedNameFilter.extensions : list<string>
- selectedNameFilter.globs : list<string>
- selectedNameFilter.index : int
- selectedNameFilter.name : string
詳細な説明
FileDialog 型は、ファイルダイアログ用の QML API を提供します。

ファイルダイアログを表示するには、FileDialogのインスタンスを作成し、必要なプロパティを設定してから、open()を呼び出します。currentFolder プロパティを使用すると、ダイアログが開くフォルダを指定できます。selectedFile およびselectedFiles プロパティは、ダイアログが開かれたときにどのファイルが選択されるかを指定するために使用でき、ユーザーがダイアログ内でファイルを選択したときや、ダイアログが承認されたときにも更新されます。
import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs
ApplicationWindow {
width: 640
height: 480
visible: true
header: ToolBar {
Button {
text: qsTr("Choose Image...")
onClicked: fileDialog.open()
}
}
Image {
id: image
anchors.fill: parent
fillMode: Image.PreserveAspectFit
}
FileDialog {
id: fileDialog
currentFolder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0]
onAccepted: image.source = selectedFile
}
}利用可能プラットフォーム
ネイティブのプラットフォームファイルダイアログは、現在以下のプラットフォームで利用可能です。
- Android
- iOS
- Linux(GTK+ プラットフォームテーマで実行している場合)
- macOS
- Windows
Qt Quick Dialogsは、ネイティブの実装が利用できないプラットフォームにおいて、フォールバックとしてQt Quick の実装を使用します。
「 FolderDialog 」および「StandardPaths 」も参照してください 。
プロパティのドキュメント
acceptLabel : string
このプロパティは、ダイアログを承認するボタンに表示されるラベルテキストを保持します。
空の文字列に設定すると、基盤となるプラットフォームのデフォルトのラベルが使用されます。デフォルトのラベルは、通常、ダイアログが使用されるfileMode に応じて、Open またはSave となります。
デフォルト値は空の文字列です。
rejectLabelも参照してください 。
currentFolder : url
このプロパティは、ファイルが選択されるフォルダを保持します。ダイアログを開いたときに表示される初期ディレクトリを制御するために設定することができます。
フォルダを選択するには、代わりに `FolderDialog ` を使用してください。
defaultSuffix : string
このプロパティには、拡張子が指定されていない選択されたファイルに追加される拡張子が設定されます。この拡張子は通常、ファイルの種類を示すために使用されます(例:「txt」はテキストファイルを示します)。
最初の文字がドット('.')の場合は、その文字が削除されます。
fileMode : enumeration
このプロパティは、ダイアログのモードを保持します。
使用可能な値:
| 定数 | 説明 |
|---|---|
FileDialog.OpenFile | このダイアログは、既存のファイルを選択するために使用されます(デフォルト)。 |
FileDialog.OpenFiles | このダイアログは、既存のファイルを複数選択するために使用されます。 |
FileDialog.SaveFile | このダイアログは、任意のファイルを選択するために使用されます。ファイルが実際に存在している必要はありません。 |
nameFilters : list<string>
このプロパティには、選択可能なファイルの種類を制限するフィルタが設定されています。
FileDialog {
nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}プラットフォームによって、選択可能なファイルの制限方法が異なる場合があります。たとえば、macOSではフィルタに一致しないファイルエントリが無効化されるのに対し、Windowsでは非表示になります。
注: *.*は移植性の高いフィルターではありません。これは、ファイル拡張子がファイルの種類を決定するという従来の前提が、すべてのオペレーティングシステムで一貫しているわけではないためです。ファイル名にドットが含まれていないファイル(例:Makefile )が存在する可能性があります。 Windows ネイティブのファイルダイアログでは、*.* によってそのようなファイルも一致しますが、他の種類のファイルダイアログでは一致しない場合があります。したがって、任意のファイルを選択したい場合は、*を使用することをお勧めします。
selectedNameFilterも参照してください 。
options : flags
このプロパティには、ダイアログの外観や動作に影響を与えるさまざまなオプションが格納されています。
デフォルトでは、すべてのオプションは無効になっています。
オプションは、ダイアログを表示する前に設定する必要があります。ダイアログが表示されている状態で設定しても、その変更が即座にダイアログに反映されるとは限りません(オプションやプラットフォームによって異なります)。
利用可能なオプション:
| 定数 | 説明 |
|---|---|
FileDialog.DontResolveSymlinks | ファイルダイアログでシンボリックリンクを解決しない。デフォルトではシンボリックリンクは解決される。 |
FileDialog.DontConfirmOverwrite | 既存のファイルが選択された場合、確認を求めない。デフォルトでは確認が求められる。 |
FileDialog.ReadOnly | このダイアログではディレクトリを作成できないことを示します。 |
FileDialog.HideNameFilterDetails | ファイル名フィルターの詳細が表示されているか非表示かを示します。 |
FileDialog.DontUseNativeDialog | ダイアログで、ネイティブではない簡易実装を強制的に使用します。 |
rejectLabel : string
このプロパティは、ダイアログを閉じるボタンに表示されるラベルテキストを保持します。
空の文字列に設定すると、基盤となるプラットフォームのデフォルトのラベルが使用されます。デフォルトのラベルは通常、「Cancel 」です。
デフォルト値は空文字列です。
「acceptLabel」も参照してください 。
selectedFile : url
このプロパティは、ダイアログで最後に選択されたファイルを保持します。
このプロパティを設定することで、ダイアログが開かれた際に選択されるファイルを制御できます。
複数のファイルが選択されている場合、このプロパティは最初のファイルを指します。
このプロパティの値は、ユーザーがダイアログでファイルを選択するたびに、またダイアログが承認されるたびに更新されます。最終的な選択内容を取得するには、accepted() シグナルを処理してください。
selectedFiles 、accepted()、およびcurrentFolderも参照してください 。
selectedFiles : list<url>
このプロパティには、ダイアログで最後に選択されたファイルが格納されます。
このプロパティの値は、ユーザーがダイアログでファイルを選択するたびに、およびダイアログが承認された際に更新されます。最終的な選択内容を取得するには、accepted() シグナルを処理してください。
accepted() およびcurrentFolderも参照してください 。
selectedNameFilter group
selectedNameFilter.extensions : list<string>
selectedNameFilter.globs : list<string>
selectedNameFilter.index : int
selectedNameFilter.name : string
これらのプロパティには、現在選択されている名前フィルターが格納されています。
| 名前 | 説明 |
|---|---|
| index: int | このプロパティは、どのname filter が選択されるかを決定します。ダイアログが開かれた時点で、指定されたフィルターが選択されます。ユーザーが別のフィルターを選択すると、値が更新されます。 |
| [読み取り専用]name: string | このプロパティには、選択されているフィルターの名前が格納されます。以下の例では、1番目のフィルターの名前は「"Text files" 」、2番目のフィルターの名前は「"HTML files" 」です。 |
| [読み取り専用]extensions: list<string> | このプロパティには、選択されたフィルターの拡張子のリストが格納されます。以下の例では、1番目のフィルターの拡張子のリストは `["txt"] `、2番目のフィルターは `["html", "htm"]` です。 |
| [読み取り専用]globs: list<string> | このプロパティには、選択されたフィルターのグロブの一覧が格納されます。以下の例では、1番目のフィルターのグロブの一覧は["*.txt"] で、2番目のフィルターのものは["*.html", "*.htm"] です。このプロパティは、例えば `FolderListModel` の `nameFilters ` プロパティと組み合わせて使用すると便利です。 |
FileDialog {
id: fileDialog
selectedNameFilter.index: 1
nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}
MyDocument {
id: document
fileType: fileDialog.selectedNameFilter.extensions[0]
}「nameFilters」も参照してください 。
© 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.