このページでは

FileDialog QML Type

ネイティブのファイルダイアログ。詳細...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

Status: Deprecated since 6.9

この型は Qt Labs Platform 6.9 以降で非推奨となっています。新しいコードでの使用は強く推奨しません。

プロパティ

詳細説明

代わりにQtQuick.Dialogs FileDialog を使用してください。

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
}

利用可能プラットフォーム

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

  • Android
  • 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 モジュール内の型は、将来のバージョンでも互換性が保証されるわけではありません。

QtQuick.Dialogs::FileDialog 、FolderDialog 、およびStandardPathsも参照してください 。

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

acceptLabel : string

このプロパティには、ダイアログを閉じるボタンに表示されるラベルテキストが格納されます。

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

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

rejectLabelも参照してください 。

currentFile : url

このプロパティには、ダイアログで現在選択されているファイルが格納されます。

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

「 file 」および「currentFiles 」も参照してください 。

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>このプロパティには、選択されているフィルタの拡張子のリストが格納されます。以下の例では、1番目のフィルタの拡張子のリストは["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も参照してください 。

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