FileDialog QML Type

ネイティブのファイルダイアログ。もっと見る...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

プロパティ

詳細な説明

FileDialog 型はネイティブプラットフォームのファイルダイアログのための QML API を提供します。

ファイルダイアログを表示するには、FileDialogのインスタンスを作成し、必要なプロパティを設定し、open ()を呼び出します。currentFile またはcurrentFiles プロパティは、ダイアログ内で現在選択されているファイルを決定するために使用することができます。file およびfiles プロパティは、ダイアログを受け入れることによって最終的な選択が行われた後にのみ更新されます。

MenuItem {
    text: "Open..."
    onTriggered: fileDialog.open()
}

FileDialog {
    id: fileDialog
    currentFile: document.source
    folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
}

MyDocument {
    id: document
    source: fileDialog.file
}

利用可能性

ネイティブプラットフォームのファイルダイアログは、現在以下のプラットフォームで利用可能です:

  • アンドロイド
  • iOS
  • Linux(GTK+プラットフォームテーマで動作している場合)
  • macOS
  • Windows

Qt Labs Platform モジュールは、ネイティブ実装が利用できないプラットフォームではフォールバックとしてQt Widgets を使用します。したがって、Qt Labs Platform モジュールの型を使用するアプリケーションは、QtWidgets にリンクし、QGuiApplication の代わりにQApplication を使用する必要があります。

QtWidgets ライブラリにリンクするには、qmake プロジェクトファイルに以下を追加します:

QT += widgets

main()QApplication のインスタンスを作成します:

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

注意: Qt.labs モジュールの型は、将来のバージョンでも互換性が保たれることを保証するものではありません。

FolderDialogStandardPathsも参照して ください。

プロパティ Documentation

acceptLabel : string

このプロパティは、ダイアログを受け入れるボタンに表示されるラベルテキストを保持します。

空文字列に設定すると、基本プラットフォームのデフォルトラベルが使用されます。デフォルトのラベルは、ダイアログがどのfileMode で使用されているかによって、通常Open またはSave です。

デフォルト値は空文字列です。

rejectLabelも参照してください


currentFile : url

このプロパティは、ダイアログで現在選択されているファイルを保持します。

file プロパティとは異なり、currentFile プロパティは、ユーザがダイアログ内でファイルを選択している間、最終的な選択が行われる前であっても更新されます。

filecurrentFilesも参照してください


currentFiles : list<url>

このプロパティは、ダイアログ内で現在選択されているファイルを保持します。

files プロパティとは異なり、currentFiles プロパティは、最終的な選択が行われる前であっても、ユーザーがダイアログ内でファイルを選択している間に更新されます。

files およびcurrentFileも参照してください


defaultSuffix : string

このプロパティは、接尾辞が指定されていない選択されたファイルに追加される接尾辞を保持します。接尾辞は通常、ファイルタイプを示すために使用されます(例えば、"txt "はテキストファイルを示します)。

最初の文字がドット ('.') の場合、ドットは削除されます。


file : url

このプロパティは、最終的に受け入れられたファイルを保持する。

currentFile プロパティとは異なり、file プロパティは、ユーザがダイアログでファイルを選択している間は更新されず、最終的な選択が行われた後にのみ更新されます。つまり、ユーザがOK をクリックしてファイルを受け入れたときである。あるいは、accepted() シグナルを処理して、最終的な選択を取得することもできます。

currentFile およびaccepted()も参照してください


fileMode : enumeration

このプロパティは、ダイアログのモードを保持します。

利用可能な値:

定数説明
FileDialog.OpenFileダイアログは、既存のファイルを選択するために使用されます(デフォルト)。
FileDialog.OpenFilesダイアログは、複数の既存ファイルを選択するために使用されます。
FileDialog.SaveFileダイアログは任意のファイルを選択するために使用されます。ファイルは存在する必要はありません。

files : list<url>

このプロパティは、最終的に受け入れられたファイルを保持する。

currentFiles プロパティとは異なり、files プロパティは、ユーザーがダイアログでファイルを選択している間は更新されず、最終的な選択が行われた後にのみ更新されます。つまり、ユーザがOK をクリックしてファイルを受け入れたときである。あるいは、accepted() シグナルを処理して、最終選択を取得することもできます。

currentFiles およびaccepted()も参照してください


folder : url

このプロパティは、ファイルが選択されているフォルダを保持します。フォルダを選択するには、代わりにFolderDialog を使用します。

FolderDialogも参照して ください。


nameFilters : list<string>

このプロパティは、選択できるファイルのタイプを制限するフィルタを保持します。

FileDialog {
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

注:*.*は移植可能なフィルタではありません。なぜなら、ファイルの拡張子がファイルの種類を決定するという歴史的な仮定は、すべてのオペレーティング・システムで一貫していないからです。ファイル名にドットがないファイル(例えば、Makefile )もあり得ます。Windowsネイティブのファイルダイアログでは、*.*はそのようなファイルにマッチしますが、他のタイプのファイルダイアログではマッチしないことがあります。そのため、どのようなファイルでも選択するのであれば* を使う方がよい。

selectedNameFilterも参照してください


options : flags

このプロパティは、ダイアログのルック&フィールに影響する様々なオプションを保持します。

デフォルトでは、すべてのオプションは無効になっています。

オプションはダイアログを表示する前に設定する必要があります。ダイアログが表示されている間にオプションを設定しても、ダイアログにすぐに効果があるとは限りません(オプションやプラットフォームによって異なります)。

利用可能なオプション

定数説明
FileDialog.DontResolveSymlinksファイルダイアログでシンボリックリンクを解決しない。デフォルトではシンボリックリンクは解決されます。
FileDialog.DontConfirmOverwrite既存のファイルが選択された場合、確認を要求しない。デフォルトでは確認が要求されます。
FileDialog.ReadOnlyダイアログでディレクトリを作成できないことを示します。
FileDialog.HideNameFilterDetailsファイル名フィルタの詳細を非表示にするかどうかを指定します。

rejectLabel : string

このプロパティは、ダイアログを拒否するボタンに表示されるラベルテキストを保持します。

空文字列に設定すると、基礎となるプラットフォームのデフォルトラベルが使用されます。デフォルトのラベルは通常、Cancel です。

デフォルト値は空文字列です。

acceptLabelも参照してください


selectedNameFilter group

selectedNameFilter.extensions : list<string>

selectedNameFilter.index : int

selectedNameFilter.name : string

これらのプロパティは、現在選択されている名前フィルタを保持します。

名前説明
index: intこのプロパティは、どのname filter が選択されているかを決定する。ダイアログが開かれると、指定されたフィルタが選択されます。値が更新されるのは、ユーザが別のフィルタを選択したときである。
[読み取り専用]name: stringこのプロパティは選択されたフィルタの名前を保持する。以下の例では、1つ目のフィルターの名前は"Text files" 、2つ目のフィルターの名前は"HTML files" です。
[読み込み専用]extensions: list<string>このプロパティは選択されたフィルターの拡張子のリストを保持します。以下の例では、最初のフィルターの拡張子のリストは["txt"] で、2番目は["html", "htm"] です。
FileDialog {
    id: fileDialog
    selectedNameFilter.index: 1
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

MyDocument {
    id: document
    fileType: fileDialog.selectedNameFilter.extensions[0]
}

nameFiltersも参照してください


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