このページでは

QFileDialog Class

ユーザーがファイルやディレクトリを選択できるダイアログを表示します。詳細...

ヘッダー: #include <QFileDialog>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QDialog

パブリック型

enum AcceptMode { AcceptOpen, AcceptSave }
enum DialogLabel { LookIn, FileName, FileType, Accept, Reject }
enum FileMode { AnyFile, ExistingFile, Directory, ExistingFiles }
enum Option { ShowDirsOnly, DontResolveSymlinks, DontConfirmOverwrite, DontUseNativeDialog, ReadOnly, …, DontUseCustomDirectoryIcons }
flags Options
enum ViewMode { Detail, List }

プロパティ

パブリック関数

QFileDialog(QWidget *parent, Qt::WindowFlags flags)
QFileDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())
virtual ~QFileDialog()
QFileDialog::AcceptMode acceptMode() const
QString defaultSuffix() const
QDir directory() const
QUrl directoryUrl() const
QFileDialog::FileMode fileMode() const
QDir::Filters filter() const
QStringList history() const
QAbstractFileIconProvider *iconProvider() const
QAbstractItemDelegate *itemDelegate() const
QString labelText(QFileDialog::DialogLabel label) const
QStringList mimeTypeFilters() const
QStringList nameFilters() const
void open(QObject *receiver, const char *member)
QFileDialog::Options options() const
QAbstractProxyModel *proxyModel() const
bool restoreState(const QByteArray &state)
QByteArray saveState() const
void selectFile(const QString &filename)
void selectMimeTypeFilter(const QString &filter)
void selectNameFilter(const QString &filter)
void selectUrl(const QUrl &url)
QStringList selectedFiles() const
QString selectedMimeTypeFilter() const
QString selectedNameFilter() const
QList<QUrl> selectedUrls() const
void setAcceptMode(QFileDialog::AcceptMode mode)
void setDefaultSuffix(const QString &suffix)
void setDirectory(const QString &directory)
void setDirectory(const QDir &directory)
void setDirectoryUrl(const QUrl &directory)
void setFileMode(QFileDialog::FileMode mode)
void setFilter(QDir::Filters filters)
void setHistory(const QStringList &paths)
void setIconProvider(QAbstractFileIconProvider *provider)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setLabelText(QFileDialog::DialogLabel label, const QString &text)
void setMimeTypeFilters(const QStringList &filters)
void setNameFilter(const QString &filter)
void setNameFilters(const QStringList &filters)
void setOption(QFileDialog::Option option, bool on = true)
void setOptions(QFileDialog::Options options)
void setProxyModel(QAbstractProxyModel *proxyModel)
void setSidebarUrls(const QList<QUrl> &urls)
void setSupportedSchemes(const QStringList &schemes)
void setViewMode(QFileDialog::ViewMode mode)
QList<QUrl> sidebarUrls() const
QStringList supportedSchemes() const
bool testOption(QFileDialog::Option option) const
QFileDialog::ViewMode viewMode() const

再実装されたパブリック関数

virtual void setVisible(bool visible) override

シグナル

void currentChanged(const QString &path)
void currentUrlChanged(const QUrl &url)
void directoryEntered(const QString &directory)
void directoryUrlEntered(const QUrl &directory)
void fileSelected(const QString &file)
void filesSelected(const QStringList &selected)
void filterSelected(const QString &filter)
void urlSelected(const QUrl &url)
void urlsSelected(const QList<QUrl> &urls)

静的パブリックメンバー

QString getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly)
QUrl getExistingDirectoryUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), QFileDialog::Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())
void getOpenFileContent(const QString &nameFilter, const std::function<void (const QString &, const QByteArray &)> &fileOpenCompleted, QWidget *parent = nullptr)
QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
QUrl getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
QList<QUrl> getOpenFileUrls(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
QUrl getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
void saveFileContent(const QByteArray &fileContent, const QString &fileNameHint, QWidget *parent = nullptr)

再実装された保護関数

virtual void accept() override
virtual void changeEvent(QEvent *e) override
virtual void done(int result) override

詳細な説明

QFileDialog クラスを使用すると、ユーザーはファイルシステムを参照して、1つまたは複数のファイルやディレクトリを選択することができます。

ファイル選択ダイアログを開く

QFileDialog は、通常、ユーザーにファイルの開いたり保存したり、あるいはディレクトリを選択したりするよう促すために使用されます。QFileDialog を使用する最も簡単な方法は、getOpenFileName() などの静的な便利関数を利用することです。

fileName = QFileDialog::getOpenFileName(this,
    tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));

この例では、静的関数を使用してモーダルな QFileDialog を作成しています。ダイアログは最初に/home/jana ディレクトリの内容を表示し、"Image Files (*.png *.jpg *.bmp)" のパターンに一致するファイルを表示します。ウィンドウのタイトルはOpen Image に設定されています。

ファイルのフィルタリング

名前または拡張子によるファイルのフィルタリング

表示されるファイルを名前や拡張子でフィルタリングするには、setNameFilter() またはsetNameFilters() 関数を使用します。複数のフィルタを指定する場合は、2つのセミコロン (;;) で区切ります。

QFileDialog dialog(this);
dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"));
dialog.exec();

MIMEタイプによるファイルのフィルタリング

表示されるファイルをMIMEタイプでフィルタリングするには、setMimeTypeFilters() 関数を使用します:

QStringList mimeTypeFilters({"image/jpeg", // will show "JPEG image (*.jpeg *.jpg *.jpe)
                             "image/png",  // will show "PNG image (*.png)"
                             "application/octet-stream" // will show "All files (*)"
                            });

QFileDialog dialog(this);
dialog.setMimeTypeFilters(mimeTypeFilters);
dialog.exec();

ファイルフィルターの大文字と小文字の区別

ターゲットプラットフォームによっては、ファイルフィルタは大文字と小文字を区別する場合と区別しない場合があります。

ファイルモード

QFileDialog は、ユーザーが選択できる対象を決定するいくつかのファイルモードをサポートしています:

QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
  • AnyFile: ユーザーは、存在しないファイルを含め、任意のファイルを選択できます(Save As ダイアログで便利です)。
  • ExistingFile: ユーザーは既存のファイルを選択する必要があります。
  • Directory: ユーザーはディレクトリを選択できます。

モードの完全な一覧については、QFileDialog::FileMode 列挙型を参照してください。

fileMode プロパティには、現在の動作モードが格納されています。変更するには、setFileMode() を使用します。

表示モード

QFileDialog には 2 つの表示モードがあります。

  • リスト:ファイルとディレクトリを単純なリストとして表示します。
  • 詳細:ファイルサイズや最終更新日などの追加情報を表示します。

setViewMode() を使用して表示モードを設定します:

dialog.setViewMode(QFileDialog::Detail);

選択されたファイルの取得

ダイアログが承認された後、selectedFiles() を使用してユーザーの選択内容を取得します:

QStringList fileNames;
if (dialog.exec())
    fileNames = dialog.selectedFiles();

ダイアログの作業ディレクトリは、setDirectory() で設定できます。selectFile() を使用して、ファイルを事前に選択しておくことができます。

プラットフォームに関する注意事項

デフォルトでは、QFileDialog は利用可能な場合、プラットフォームのネイティブファイルダイアログを使用します。この場合、一部のウィジェット固有の API (layout() やitemDelegate() など) は、null を返すことがあります。また、すべてのプラットフォームでファイルダイアログにタイトルバーが表示されるわけではないため、キャプションテキストが表示されない場合があります。

Qt Widgets ベースのダイアログを強制的に使用するには、DontUseNativeDialog オプション、またはAA_DontUseNativeDialogs アプリケーション属性を設定してください。

セキュリティに関する考慮事項

restoreState() 関数は、ダイアログのスプリッターレイアウト、サイドバーのブックマーク、ナビゲーション履歴、現在のディレクトリ、および埋め込まれたQHeaderView 状態ブロブを記述する、バージョン管理されたバイナリブロブを逆シリアル化します。フォーマットのマジックナンバーとバージョンは検証されますが、外側の構造体が受け入れられた後は、個々のフィールドに対する妥当性チェックは行われません。

restoreState() には、saveState() によって以前に生成され、かつ同じバージョンまたは互換性のあるバージョンのアプリケーションによって(通常はQSettings を通じて)永続化されたQByteArray のみを渡してください。出所が信頼できないファイル、設定、またはその他のソースから状態を復元しないでください。埋め込まれたヘッダーの状態については、QHeaderView's Security Considerations に記載されているのと同じ考慮事項が適用されます。

QDir 、QFileInfo 、QFile 、QColorDialog 、QFontDialog 、および「標準ダイアログの例」も参照してください 。

メンバ型のドキュメント

enum QFileDialog::AcceptMode

定数定数
QFileDialog::AcceptOpen0
QFileDialog::AcceptSave1

enum QFileDialog::DialogLabel

定数定数
QFileDialog::LookIn0
QFileDialog::FileName1
QFileDialog::FileType2
QFileDialog::Accept3
QFileDialog::Reject4

enum QFileDialog::FileMode

この列挙型は、ファイルダイアログでユーザーが選択できる項目、つまりユーザーが「OK」をクリックした際にダイアログが返す値を指定するために使用されます。

定数値説明
QFileDialog::AnyFile0ファイル名。ファイルが存在するかどうかにかかわらず指定します。
QFileDialog::ExistingFile1存在する単一のファイルの名前。
QFileDialog::Directory2ディレクトリの名前。ファイルとディレクトリの両方が表示されます。ただし、Windows のネイティブファイルダイアログでは、ディレクトリ選択ダイアログでのファイル表示はサポートされていません。
QFileDialog::ExistingFiles30個以上の既存のファイルの名前。

関連項目: setFileMode()。

enum QFileDialog::Option
flags QFileDialog::Options

ダイアログの動作に影響を与えるオプション。

定数値説明
QFileDialog::ShowDirsOnly0x00000001ディレクトリのみを表示します。デフォルトでは、ファイルとディレクトリの両方が表示されます。
This option is only effective in the Directory file mode.
QFileDialog::DontResolveSymlinks0x00000002シンボリックリンクを解決しないでください。デフォルトでは、シンボリックリンクは解決されます。
QFileDialog::DontConfirmOverwrite0x00000004既存のファイルが選択された場合、確認を求めない。デフォルトでは、確認が求められる。
This option is only effective if acceptMode is AcceptSave). It is furthermore not used on macOS for native file dialogs.
QFileDialog::DontUseNativeDialog0x00000008プラットフォーム固有のファイルダイアログではなく、Qtが提供するウィジェットベースのファイルダイアログを使用してください。
By default, a native file dialog is shown unless you use a subclass of QFileDialog that contains the Q_OBJECT macro, the global AA_DontUseNativeDialogs application attribute is set, or the platform does not have a native dialog of the type that you require.
このオプションを有効にするには、ダイアログの他のプロパティを変更したり、ダイアログを表示したりする前に、このオプションを設定する必要があります。
QFileDialog::ReadOnly0x00000010モデルが読み取り専用であることを示します。
QFileDialog::HideNameFilterDetails0x00000020ファイル名フィルターの詳細が表示されているか非表示になっているかを示します。
QFileDialog::DontUseCustomDirectoryIcons0x00000040常にデフォルトのディレクトリ アイコンを使用します。
プラットフォームによっては、ユーザーが別のアイコンを設定できるものもありますが、カスタム アイコンの検索は、ネットワークやリムーバブル ドライブ上で重大なパフォーマンスの問題を引き起こす可能性があります。
Setting this will enable the DontUseCustomDirectoryIcons option in iconProvider().
この列挙型値は Qt 5.2 で追加されました。

Options型は、QFlags<Option>のtypedefです。Option値のOR結合を格納します。

options およびtestOptionも参照してください 。

enum QFileDialog::ViewMode

この列挙型は、ファイルダイアログの表示モード、つまり各ファイルについてどのような情報が表示されるかを定義します。

定数値説明
QFileDialog::Detail0ディレクトリ内の各項目について、アイコン、名前、および詳細情報を表示します。
QFileDialog::List1ディレクトリ内の各項目について、アイコンと名前のみを表示します。

関連項目: setViewMode()。

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

acceptMode : AcceptMode

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

アクションモードは、ダイアログがファイルの開く操作用か保存操作用かを定義します。

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

アクセス関数:

QFileDialog::AcceptMode acceptMode() const
void setAcceptMode(QFileDialog::AcceptMode mode)

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

defaultSuffix : QString

他の拡張子が指定されていない場合、ファイル名に追加される拡張子。

このプロパティは、ファイル名にまだ拡張子が付いていない場合に、ファイル名に追加される文字列を指定します。この拡張子は通常、ファイルの種類を示すために使用されます(例:「txt」はテキストファイルを示します)。

先頭がドット('.')の場合は、それが削除されます。

アクセス関数:

QString defaultSuffix() const
void setDefaultSuffix(const QString &suffix)

fileMode : FileMode

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

ファイルモードは、ユーザーがダイアログで選択することが想定される項目の数と種類を定義します。

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

この関数は、FileName およびAccept DialogLabel のラベルを設定します。setFileMode()の呼び出し後に、カスタムテキストを設定することが可能です。

関連関数:

QFileDialog::FileMode fileMode() const
void setFileMode(QFileDialog::FileMode mode)

FileModeも参照してください 。

options : Options

このプロパティには、ダイアログの外観や動作に影響を与えるさまざまなオプションが格納されています。

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

オプション(特に「DontUseNativeDialog 」オプション)は、ダイアログのプロパティを変更したり、ダイアログを表示したりする前に設定しておく必要があります。

ダイアログが表示されている間にオプションを設定しても、その変更がダイアログに即座に反映されるとは限りません(オプションやプラットフォームによって異なります)。

他のプロパティを変更した後にオプションを設定すると、それらの値が反映されない場合があります。

アクセス関数:

QFileDialog::Options options() const
void setOptions(QFileDialog::Options options)

setOption() およびtestOption()も参照してください 。

supportedSchemes : QStringList

このプロパティには、ファイルダイアログから移動を許可すべきURLスキームが格納されます。

このプロパティを設定することで、ユーザーが選択できるURLの種類を制限できます。これは、アプリケーションがファイルコンテンツの取得にサポートするプロトコルを宣言するための手段です。 リストが空の場合、制限は適用されません(デフォルト)。ローカルファイル(「file」スキーム)のサポートは暗黙的に有効であり、常に有効になっています。制限に含める必要はありません。

アクセス関数:

QStringList supportedSchemes() const
void setSupportedSchemes(const QStringList &schemes)

viewMode : ViewMode

このプロパティは、ダイアログでのファイルおよびディレクトリの表示方法を指定します。

デフォルトでは、ファイルやディレクトリに関する情報を表示するために「Detail 」モードが使用されます。

アクセス関数:

QFileDialog::ViewMode viewMode() const
void setViewMode(QFileDialog::ViewMode mode)

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

メンバ関数のドキュメント

QFileDialog::QFileDialog(QWidget *parent, Qt::WindowFlags flags)

指定されたparent とウィジェットflags を使用して、ファイルダイアログを作成します。

[explicit] QFileDialog::QFileDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())

指定されたparent およびcaption を用いてファイルダイアログを作成し、最初に指定されたdirectory の内容を表示します。ディレクトリの内容は、filter で指定されたセミコロン区切りのフィルタリストを用いてフィルタリングされた上で、ダイアログに表示されます。

[virtual noexcept] QFileDialog::~QFileDialog()

ファイル選択ダイアログを閉じます。

[override virtual protected] void QFileDialog::accept()

QDialog::accept() を再実装します。

[override virtual protected] void QFileDialog::changeEvent(QEvent *e)

QWidget::changeEvent(QEvent *event) を再実装します。

[signal] void QFileDialog::currentChanged(const QString &path)

ローカル操作において現在のファイルが変更された場合、このシグナルが、path パラメータとして新しいファイル名とともに発行されます。

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

[signal] void QFileDialog::currentUrlChanged(const QUrl &url)

現在のファイルが変更されると、このシグナルが、新しいファイルのURLをurl パラメータとして指定して発信されます。

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

QDir QFileDialog::directory() const

ダイアログに現在表示されているディレクトリを返します。

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

[signal] void QFileDialog::directoryEntered(const QString &directory)

この信号は、ユーザーがdirectory を入力した際に、ローカル操作として発信されます。

QUrl QFileDialog::directoryUrl() const

ダイアログに現在表示されているディレクトリのURLを返します。

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

[signal] void QFileDialog::directoryUrlEntered(const QUrl &directory)

このシグナルは、ユーザーがdirectory に入力したときに発せられます。

[override virtual protected] void QFileDialog::done(int result)

QDialog::done(int r) を再実装します。

[signal] void QFileDialog::fileSelected(const QString &file)

ローカル操作の選択内容が変更され、ダイアログが確定されると、このシグナルが、(空の場合もある)選択されたfile とともに発信されます。

currentChanged() およびQDialog::Acceptedも参照してください 。

[signal] void QFileDialog::filesSelected(const QStringList &selected)

ローカル操作の選択内容が変更され、ダイアログが確定されると、このシグナルが、selected ファイルのリスト(空の場合もある)とともに発信されます。

currentChanged() およびQDialog::Acceptedも参照してください 。

QDir::Filters QFileDialog::filter() const

ファイルの表示時に使用されるフィルタを返します。

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

[signal] void QFileDialog::filterSelected(const QString &filter)

このシグナルは、ユーザーがfilter を選択したときに発せられます。

[static] QString QFileDialog::getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly)

これは、ユーザーが選択した既存のディレクトリを返す、便利な静的関数です。

QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                                "/home",
                                                QFileDialog::ShowDirsOnly
                                                | QFileDialog::DontResolveSymlinks);

この関数は、指定されたparent ウィジェットを使用してモーダルなファイルダイアログを作成します。parent がnullptr でない場合、ダイアログは親ウィジェットの中央に配置されて表示されます。

ダイアログの作業ディレクトリは `dir` に設定され、キャプションは `caption` に設定されます。これらはいずれも空の文字列に設定可能であり、その場合はそれぞれ現在のディレクトリとデフォルトのキャプションが使用されます。

options 引数には、ダイアログの実行方法に関するさまざまなオプションが格納されます。渡すことができるフラグの詳細については、QFileDialog::Option 列挙型を参照してください。ネイティブのファイルダイアログを確実に表示するには、ShowDirsOnly を設定する必要があります。

Windows および macOS では、この静的関数は `QFileDialog` ではなく、ネイティブのファイルダイアログを使用します。ただし、Windows のネイティブファイルダイアログは、ディレクトリ選択画面でのファイル表示をサポートしていません。QFileDialog を使用してファイルを表示するには、`DontUseNativeDialog ` オプションを指定するか、グローバルな `AA_DontUseNativeDialogs ` アプリケーション属性を設定する必要があります。

なお、macOSのネイティブファイルダイアログにはタイトルバーが表示されません。

Unix/X11 では、ファイルダイアログの通常の動作として、シンボリックリンクが解決され、その先へ移動します。たとえば、/usr/tmp が/var/tmp へのシンボリックリンクである場合、/usr/tmp と入力すると、ファイルダイアログは/var/tmp に切り替わります。options にDontResolveSymlinks が含まれている場合、ファイルダイアログはシンボリックリンクを通常のディレクトリとして扱います。

Windows では、ダイアログは QTimer を一切ディスパッチしないブロッキングなモーダルイベントループを実行し、parent がnullptr でない場合、ダイアログを親ウィンドウのタイトルバーのすぐ下に配置します。

getOpenFileName()、getOpenFileNames()、およびgetSaveFileName()も参照してください 。

[static] QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), QFileDialog::Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())

これは、ユーザーが選択した既存のディレクトリを返す便利な静的関数です。ユーザーが「キャンセル」を押した場合、空のURLを返します。

この関数の使い方は、QFileDialog::getExistingDirectory()と同様です。特に、parent 、caption 、dir 、options は、まったく同じように使用されます。

QFileDialog::getExistingDirectory() との主な違いは、ユーザーがリモートディレクトリを選択できる機能がある点にあります。そのため、dir の戻り値の型はQUrl となります。

supportedSchemes 引数を使用すると、ユーザーが選択できるURLの種類を制限できます。これは、アプリケーションがファイルコンテンツの取得にサポートするプロトコルを宣言するための手段です。 空のリストは、制限が適用されないことを意味します(デフォルト)。ローカルファイル(「file」スキーマ)への対応は暗黙的に行われ、常に有効です。制限に含める必要はありません。

可能な場合、この静的関数は `QFileDialog` ではなく、ネイティブなファイルダイアログを使用します。リモートファイルの選択をサポートしていないプラットフォームでは、Qt ではローカルファイルのみを選択できるようにします。

getExistingDirectory()、getOpenFileUrl()、getOpenFileUrls()、およびgetSaveFileUrl()も参照してください 。

[static] void QFileDialog::getOpenFileContent(const QString &nameFilter, const std::function<void (const QString &, const QByteArray &)> &fileOpenCompleted, QWidget *parent = nullptr)

これは、ユーザーが選択したファイルの内容を返す便利な静的関数です。

Webサンドボックスによってファイルアクセスが制限されている場合、Qt for WebAssembly上でローカルファイルにアクセスするためにこの関数を使用してください。この実装により、ブラウザ上でネイティブなファイルダイアログが表示され、ユーザーはnameFilter パラメータに基づいてファイルを選択できます。

parent は、Qt for WebAssembly では無視されます。他のプラットフォームでは、parent を指定して、ポップアップを別のウィジェットの子にするようにしてください。プラットフォームがネイティブなファイルダイアログをサポートしていない場合、この関数はQFileDialog にフォールバックします。

この関数は非同期であり、即座に返ります。ファイルが選択され、その内容がメモリに読み込まれた時点で、fileOpenCompleted コールバックが呼び出されます。

auto fileContentReady = [](const QString &fileName, const QByteArray &fileContent) {
    if (fileName.isEmpty()) {
        // No file was selected
    } else {
        // Use fileName and fileContent
    }
};
QFileDialog::getOpenFileContent("Images (*.png *.xpm *.jpg)",  fileContentReady);

[static] QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())

これは、ユーザーが選択した既存のファイルを返す、便利な静的関数です。ユーザーが「キャンセル」を押した場合は、空文字列を返します。

QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                "/home",
                                                tr("Images (*.png *.xpm *.jpg)"));

この関数は、指定されたparent ウィジェットを使用してモーダルなファイルダイアログを作成します。parent がnullptr でない場合、ダイアログは親ウィジェットの中心に表示されます。

ファイルダイアログの作業ディレクトリは、dir に設定されます。dir にファイル名が含まれている場合、そのファイルが選択されます。指定されたfilter に一致するファイルのみが表示されます。選択されたフィルタは、selectedFilter に設定されます。パラメータdir 、selectedFilter 、およびfilter は、空の文字列でも構いません。複数のフィルタを指定する場合は、「;;」で区切ります。例:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

options 引数には、ダイアログの実行方法に関するさまざまなオプションが格納されます。渡すことができるフラグの詳細については、QFileDialog::Option 列挙型を参照してください。

ダイアログのキャプションは `caption` に設定されます。`caption ` が指定されていない場合は、デフォルトのキャプションが使用されます。

Windows および macOS では、この静的関数は `QFileDialog` ではなく、ネイティブのファイルダイアログを使用します。macOS のネイティブファイルダイアログにはタイトルバーが表示されない点に注意してください。

Windows では、このダイアログは QTimer を一切ディスパッチしないブロッキングなモーダルイベントループを実行し、parent がnullptr でない場合、ダイアログは親ウィンドウのタイトルバーのすぐ下に配置されます。

Unix/X11 では、ファイルダイアログの通常の動作として、シンボリックリンクを解決して追跡します。たとえば、/usr/tmp が/var/tmp へのシンボリックリンクである場合、/usr/tmp を入力すると、ファイルダイアログは/var/tmp に切り替わります。options にDontResolveSymlinks が含まれている場合、ファイルダイアログはシンボリックリンクを通常のディレクトリとして扱います。

getOpenFileNames()、getSaveFileName()、およびgetExistingDirectory()も参照してください 。

[static] QStringList QFileDialog::getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())

これは、ユーザーが選択した1つ以上の既存のファイルを返す、便利な静的関数です。

QStringList files = QFileDialog::getOpenFileNames(
                        this,
                        "Select one or more files to open",
                        "/home",
                        "Images (*.png *.xpm *.jpg)");

この関数は、指定されたparent ウィジェットを使用してモーダルなファイルダイアログを作成します。parent がnullptr でない場合、ダイアログは親ウィジェットの中央に配置されて表示されます。

ファイルダイアログの作業ディレクトリは `dir` に設定されます。dir にファイル名が含まれている場合、そのファイルが選択されます。フィルターは `filter ` に設定されるため、フィルターに一致するファイルのみが表示されます。選択されたフィルターは `selectedFilter` に設定されます。パラメータ `dir`、`selectedFilter `、および `filter ` は空の文字列でも構いません。複数のフィルターが必要な場合は、`;;` で区切ってください。例:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

ダイアログのキャプションは `caption` に設定されます。caption が指定されていない場合は、デフォルトのキャプションが使用されます。

Windows および macOS では、この静的関数はQFileDialog ではなく、ネイティブのファイルダイアログを使用します。macOS のネイティブファイルダイアログにはタイトルバーが表示されない点に注意してください。

Windowsでは、このダイアログはQTimerを一切ディスパッチしないブロッキングなモーダルイベントループを実行し、parent がnullptr でない場合、ダイアログを親ウィンドウのタイトルバーのすぐ下に配置します。

Unix/X11 では、ファイルダイアログの通常の動作として、シンボリックリンクを解決して追跡します。たとえば、/usr/tmp が/var/tmp へのシンボリックリンクである場合、/usr/tmp と入力すると、ファイルダイアログは/var/tmp に切り替わります。options 引数には、ダイアログの実行方法に関するさまざまなオプションが指定されます。渡すことができるフラグの詳細については、QFileDialog::Option 列挙型を参照してください。

getOpenFileName()、getSaveFileName()、およびgetExistingDirectory()も参照してください 。

[static] QUrl QFileDialog::getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())

これは、ユーザーが選択した既存のファイルを返す、便利な静的関数です。ユーザーが「キャンセル」を押した場合は、空のURLを返します。

この関数の使い方は、QFileDialog::getOpenFileName()と似ています。特に、parent 、caption 、dir 、filter 、selectedFilter 、options は、まったく同じ方法で使用されます。

QFileDialog::getOpenFileName() との主な違いは、ユーザーがリモートファイルを選択できる機能がある点にあります。そのため、dir の戻り値の型はQUrl となります。

supportedSchemes 引数を使用すると、ユーザーが選択できるURLの種類を制限できます。これは、アプリケーションがファイルコンテンツの取得にサポートするプロトコルを宣言するための手段です。 空のリストは、制限が適用されないことを意味します(デフォルト)。ローカルファイル(「file」スキーマ)への対応は暗黙的にサポートされており、常に有効です。制限に含める必要はありません。

可能な場合、この静的関数は `QFileDialog` ではなく、ネイティブのファイルダイアログを使用します。リモートファイルの選択をサポートしていないプラットフォームでは、Qt はローカルファイルのみの選択を許可します。

getOpenFileName()、getOpenFileUrls()、getSaveFileUrl()、およびgetExistingDirectoryUrl()も参照してください 。

[static] QList<QUrl> QFileDialog::getOpenFileUrls(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())

これは、ユーザーが選択した1つ以上の既存のファイルを返す、便利な静的関数です。ユーザーが「キャンセル」を押した場合、空のリストを返します。

この関数の使い方は、QFileDialog::getOpenFileNames()と似ています。特に、parent 、caption 、dir 、filter 、selectedFilter 、options は、まったく同じように使用されます。

QFileDialog::getOpenFileNames() との主な違いは、ユーザーがリモートファイルを選択できる機能がある点にあります。そのため、dir の戻り値の型と型は、それぞれQList<QUrl> およびQUrl となります。

supportedSchemes 引数を使用すると、ユーザーが選択できるURLの種類を制限できます。これは、アプリケーションがファイルコンテンツの取得にサポートするプロトコルを宣言するための手段です。 空のリストは、制限が適用されないことを意味します(デフォルト)。ローカルファイル(「file」スキーム)への対応は暗黙的にサポートされており、常に有効です。制限に含める必要はありません。

可能な場合、この静的関数は `QFileDialog` ではなく、ネイティブのファイルダイアログを使用します。リモートファイルの選択をサポートしていないプラットフォームでは、Qt はローカルファイルのみの選択を許可します。

getOpenFileNames()、getOpenFileUrl()、getSaveFileUrl()、およびgetExistingDirectoryUrl()も参照してください 。

[static] QString QFileDialog::getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())

これは、ユーザーが選択したファイル名を返す便利な静的関数です。ファイルは存在していなくても構いません。

指定されたparent ウィジェットを使用して、モーダル形式のファイルダイアログを作成します。parent がnullptr でない場合、ダイアログは親ウィジェットの中央に配置されて表示されます。

QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),
                                                "/home/jana/untitled.png",
                                                tr("Images (*.png *.xpm *.jpg)"));

ファイルダイアログの作業ディレクトリは、dir に設定されます。dir にファイル名が含まれている場合、そのファイルが選択されます。filter に一致するファイルのみが表示されます。選択されたフィルタは、selectedFilter に設定されます。パラメータdir 、selectedFilter 、およびfilter は空の文字列でも構いません。複数のフィルタは「;;」で区切られます。例えば:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

options 引数には、ダイアログの実行方法に関するさまざまなオプションが含まれています。渡すことができるフラグの詳細については、QFileDialog::Option 列挙型を参照してください。

selectedFilter を適切な値に設定することで、デフォルトのフィルタを選択できます。

ダイアログのキャプションは `caption` に設定されます。`caption ` が指定されていない場合は、デフォルトのキャプションが使用されます。

Windows および macOS では、この静的関数はQFileDialog ではなく、ネイティブのファイルダイアログを使用します。

Windows では、ダイアログは QTimer を一切ディスパッチしないブロッキングなモーダルイベントループを実行し、parent がnullptr でない場合は、ダイアログを親ウィンドウのタイトルバーのすぐ下に配置します。macOS では、ネイティブのファイルダイアログが使用されるため、filter 引数は無視されます。

Unix/X11では、ファイルダイアログの通常の動作として、シンボリックリンクを解決して追跡します。例えば、/usr/tmp が/var/tmp へのシンボリックリンクである場合、/usr/tmp を入力すると、ファイルダイアログは/var/tmp に切り替わります。options にDontResolveSymlinks が含まれている場合、ファイルダイアログはシンボリックリンクを通常のディレクトリとして扱います。

getOpenFileName()、getOpenFileNames()、およびgetExistingDirectory()も参照してください 。

[static] QUrl QFileDialog::getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())

これは、ユーザーが選択したファイルを返す便利な静的関数です。ファイルは存在していなくてもかまいません。ユーザーが「キャンセル」を押した場合、空のURLを返します。

この関数の使い方は、QFileDialog::getSaveFileName()と同様です。特に、parent 、caption 、dir 、filter 、selectedFilter 、options は、まったく同じように使用されます。

QFileDialog::getSaveFileName() との主な違いは、ユーザーがリモートファイルを選択できる機能がある点にあります。そのため、dir の戻り値の型はQUrl となります。

supportedSchemes 引数を使用すると、ユーザーが選択できるURLの種類を制限できます。これは、アプリケーションがファイルの内容を保存するためにサポートするプロトコルを宣言する方法です。 空のリストは、制限が適用されないことを意味します(デフォルト)。ローカルファイル(「file」スキーマ)への対応は暗黙的にサポートされており、常に有効です。制限に含める必要はありません。

可能な場合、この静的関数は `QFileDialog` ではなく、ネイティブのファイルダイアログを使用します。リモートファイルの選択をサポートしていないプラットフォームでは、Qt はローカルファイルのみの選択を許可します。

getSaveFileName()、getOpenFileUrl()、getOpenFileUrls()、およびgetExistingDirectoryUrl()も参照してください 。

QStringList QFileDialog::history() const

filedialog の閲覧履歴をパスのリストとして返します。

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

QAbstractFileIconProvider *QFileDialog::iconProvider() const

filedialog で使用されているアイコンプロバイダを返します。

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

QAbstractItemDelegate *QFileDialog::itemDelegate() const

filedialog内のビューで項目をレンダリングするために使用される項目デリゲートを返します。

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

QString QFileDialog::labelText(QFileDialog::DialogLabel label) const

指定されたlabel でファイルダイアログに表示されるテキストを返します。

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

QStringList QFileDialog::mimeTypeFilters() const

このファイルダイアログで有効になっているMIMEタイプフィルターを返します。

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

QStringList QFileDialog::nameFilters() const

このファイルダイアログで有効になっているファイルタイプのフィルタを返します。

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

void QFileDialog::open(QObject *receiver, const char *member)

この関数はダイアログを表示し、receiver およびmember で指定されたスロットを、選択状態の変化を通知するシグナルに接続します。fileMode がExistingFiles の場合、これはfilesSelected()シグナルとなり、それ以外の場合はfileSelected()シグナルとなります。

ダイアログが閉じられると、このシグナルはスロットから切断されます。

QAbstractProxyModel *QFileDialog::proxyModel() const

ファイルダイアログで使用されるプロキシモデルを返します。デフォルトでは、プロキシは設定されていません。

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

bool QFileDialog::restoreState(const QByteArray &state)

ダイアログのレイアウト、履歴、および現在のディレクトリを、指定されたstate の状態に復元します。

通常、これは `QSettings ` と組み合わせて使用され、過去のセッションのサイズを復元します。

エラーが発生した場合は、false を返します。

[static] void QFileDialog::saveFileContent(const QByteArray &fileContent, const QString &fileNameHint, QWidget *parent = nullptr)

これは、ユーザーが指定したファイル名と保存先を使用して、fileContent をファイルに保存するための便利な静的関数です。fileNameHint を指定することで、ユーザーにファイル名を提案することができます。

Webサンドボックスによってファイルアクセスが制限されている場合、Qt for WebAssembly上でコンテンツをローカルファイルに保存するには、この関数を使用してください。この関数を実装することで、ブラウザにネイティブなファイルダイアログを表示できるようになり、ユーザーはfileNameHint 引数に基づいて出力ファイルを指定できます。

parent Qt for WebAssembly では無視されます。他のプラットフォームでは、parent を渡すことで、ポップアップを別のウィジェットの子として表示できます。プラットフォームがネイティブなファイルダイアログをサポートしていない場合、この関数はQFileDialog にフォールバックします。

この関数は非同期であり、即座に返ります。

QByteArray imageData; // obtained from e.g. QImage::save()
QFileDialog::saveFileContent(imageData, "myimage.png");

QByteArray QFileDialog::saveState() const

ダイアログのレイアウト、履歴、および現在のディレクトリの状態を保存します。

通常、これはQSettings と組み合わせて使用され、次回のセッションのためにサイズを記憶するために用いられます。データの一部としてバージョン番号が保存されます。

void QFileDialog::selectFile(const QString &filename)

ファイルダイアログで、指定されたfilename を選択します。

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

void QFileDialog::selectMimeTypeFilter(const QString &filter)

現在のMIMEタイプをfilter に設定します。

void QFileDialog::selectNameFilter(const QString &filter)

現在のファイルタイプをfilter に設定します。filter には、セミコロンまたはスペースで区切ることで、複数のフィルターを渡すことができます。

setNameFilter()、setNameFilters()、およびselectedNameFilter()も参照してください 。

void QFileDialog::selectUrl(const QUrl &url)

ファイルダイアログで、指定されたurl を選択します。

注: 非ネイティブの QFileDialog は 、ローカルファイルのみをサポートしています。

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

QStringList QFileDialog::selectedFiles() const

ダイアログで選択されたファイルの絶対パスを含む文字列のリストを返します。ファイルが選択されていない場合、またはモードが `ExistingFiles ` または `ExistingFile` でない場合、`selectedFiles()` にはビューポート内の現在のパスが含まれます。

selectedNameFilter() およびselectFile()も参照してください 。

QString QFileDialog::selectedMimeTypeFilter() const

ファイルダイアログでユーザーが選択したファイルのMIMEタイプを返します。

QString QFileDialog::selectedNameFilter() const

ファイルダイアログでユーザーが選択したフィルターを返します。

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

QList<QUrl> QFileDialog::selectedUrls() const

ダイアログで選択されたファイルを含む URL のリストを返します。ファイルが選択されていない場合、またはモードが `ExistingFiles ` または `ExistingFile` でない場合、`selectedUrls()` にはビューポート内の現在のパスが含まれます。

selectedNameFilter() およびselectUrl()も参照してください 。

void QFileDialog::setDirectory(const QString &directory)

ファイルダイアログの現在の「directory 」を設定します。

注: iOSでは 、directory をQStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() に設定すると、ユーザーのフォトアルバムにアクセスするためにネイティブの画像選択ダイアログが使用されます。 返されたファイル名は、QFile および関連するAPIを使用して読み込むことができます。この機能を有効にするには、プロジェクトファイル内のQMAKE_INFO_PLISTに割り当てられたInfo.plistに、キー「NSPhotoLibraryUsageDescription 」が含まれている必要があります。このキーに関する詳細については、AppleのInfo.plistのドキュメントを参照してください。この機能はQt 5.5で追加されました。

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

void QFileDialog::setDirectory(const QDir &directory)

これはオーバーロードされた関数です。

void QFileDialog::setDirectoryUrl(const QUrl &directory)

ファイルダイアログの現在のdirectory のURLを設定します。

注: 非ネイティブの QFileDialog は 、ローカルファイルのみをサポートしています。

注: Windowsでは 、「コンピュータ」や「ネットワーク」などの仮想フォルダを表す URL を指定することが可能です。これを行うには、スキーマclsid の後に、中括弧を削除した CLSID 値を続けて指定したQUrl を渡します。たとえば、URLclsid:374DE290-123F-4565-9164-39C4925E467B はダウンロード先を表します。 使用可能な値の完全な一覧については、KNOWNFOLDERID に関する MSDN ドキュメントを参照してください。この機能は Qt 5.5 で追加されました。

directoryUrl() およびQUuidも参照してください 。

void QFileDialog::setFilter(QDir::Filters filters)

モデルが使用するフィルタを「filters 」に設定します。このフィルタは、表示すべきファイルの種類を指定するために使用されます。

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

void QFileDialog::setHistory(const QStringList &paths)

filedialogの閲覧履歴に、指定されたpaths を含めるように設定します。

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

void QFileDialog::setIconProvider(QAbstractFileIconProvider *provider)

filedialog で使用されるアイコンプロバイダを、指定されたprovider に設定します。

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

void QFileDialog::setItemDelegate(QAbstractItemDelegate *delegate)

ファイルダイアログ内のビューでアイテムをレンダリングするために使用されるアイテムデリゲートを、指定されたdelegate に設定します。

既存のデリゲートはすべて削除されますが、破棄されることはありません。QFileDialog はdelegate の所有権を取得しません。

警告: ビュー間で同じデリゲートのインスタンスを共有しないでください 。そうすると、特定のデリゲートに接続された各ビューが `closeEditor()` シグナルを受信し、すでに閉じられているエディタにアクセスしたり、変更したり、閉じようとしたりするため、不正確または直感に反する編集動作を引き起こす可能性があります。

なお、使用されるモデルは `QFileSystemModel` です。これにはカスタムアイテムデータロールがあり、これは `Roles ` 列挙型で定義されています。カスタムアイコンのみが必要な場合は、`QFileIconProvider ` を使用できます。

itemDelegate()、setIconProvider()、およびQFileSystemModelも参照してください 。

void QFileDialog::setLabelText(QFileDialog::DialogLabel label, const QString &text)

指定されたlabel で、ファイルダイアログに表示されるtext を設定します。

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

void QFileDialog::setMimeTypeFilters(const QStringList &filters)

MIMEタイプのリストから、ファイルダイアログで使用されるfilters を設定します。

setNameFilters() の便宜的なメソッドです。QMimeType を使用して、各 MIME タイプで定義されたグロブパターンと説明から名前フィルターを作成します。

「すべてのファイル (*)」フィルタには、すべてのファイルのベース MIME タイプである application/octet-stream を使用してください。

setMimeTypeFilters を呼び出すと、以前に設定された名前フィルターはすべて上書きされ、nameFilters() の戻り値が変更されます。

QStringList mimeTypeFilters({"image/jpeg", // will show "JPEG image (*.jpeg *.jpg *.jpe)
                             "image/png",  // will show "PNG image (*.png)"
                             "application/octet-stream" // will show "All files (*)"
                            });

QFileDialog dialog(this);
dialog.setMimeTypeFilters(mimeTypeFilters);
dialog.exec();

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

void QFileDialog::setNameFilter(const QString &filter)

ファイルダイアログで使用されるフィルタを、指定されたfilter に設定します。

filter に、スペースで区切られた 1 つ以上のファイル名ワイルドカードパターンを含む括弧のペアが含まれている場合、フィルターとして使用されるのは括弧内のテキストのみとなります。つまり、以下の呼び出しはすべて同等です:

dialog.setNameFilter("All C++ files (*.cpp *.cc *.C *.cxx *.c++)");
dialog.setNameFilter("*.cpp *.cc *.C *.cxx *.c++");

注: Androidのネイティブファイルダイアログでは 、MIMEタイプのみがサポートされているため、指定された名前フィルターに一致するMIMEタイプが使用されます。

setMimeTypeFilters() およびsetNameFilters()も参照してください 。

void QFileDialog::setNameFilters(const QStringList &filters)

ファイルダイアログで使用されるfilters を設定します。

なお、フィルター「*.*」は移植性がありません。これは、ファイル拡張子がファイルの種類を決定するという従来の前提が、すべてのオペレーティングシステムで一貫しているわけではないためです。ファイル名にドットが含まれていないファイル(例:Makefile )が存在する可能性があります。 ネイティブの Windows ファイルダイアログでは、*.*はそのようなファイルに一致しますが、他の種類のファイルダイアログでは一致しない場合があります。したがって、任意のファイルを選択したい場合は、*を使用することをお勧めします。

const QStringList filters({"Image files (*.png *.xpm *.jpg)",
                           "Text files (*.txt)",
                           "Any files (*)"
                          });
QFileDialog dialog(this);
dialog.setNameFilters(filters);
dialog.exec();

setMimeTypeFilters() には、各ファイルタイプに対して考えられるすべての名前フィルターを提供できるという利点があります。たとえば、JPEG 画像には 3 種類の拡張子があります。アプリケーションがそのようなファイルを開くことができる場合、フィルターとしてimage/jpeg という MIME タイプを選択すれば、それらすべてを開くことができます。

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

void QFileDialog::setOption(QFileDialog::Option option, bool on = true)

on がtrueの場合、指定されたoption を有効に設定します。そうでない場合は、指定されたoption をクリアします。

オプション(特にDontUseNativeDialog オプション)は、ダイアログのプロパティを変更したり、ダイアログを表示したりする前に設定しておく必要があります。

ダイアログが表示されている間にオプションを設定しても、その設定がダイアログに即座に反映されるとは限りません(オプションやプラットフォームによって異なります)。

他のプロパティを変更した後にオプションを設定すると、これらの値が反映されない場合があります。

options およびtestOption()も参照してください 。

void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)

ビューのモデルを、指定されたproxyModel に設定します。これは、基となるモデルを変更したい場合(たとえば、列の追加、データのフィルタリング、ドライブの追加など)に便利です。

既存のプロキシモデルは削除されますが、ファイル自体は削除されません。ファイルダイアログがproxyModel の所有権を取得します。

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

void QFileDialog::setSidebarUrls(const QList<QUrl> &urls)

サイドバーに表示される「urls 」を設定します。

例:

QList<QUrl> urls;
urls << QUrl::fromLocalFile("/Users/foo/Code/qt5")
     << QUrl::fromLocalFile(QStandardPaths::standardLocations(QStandardPaths::MusicLocation).first());

QFileDialog dialog;
dialog.setSidebarUrls(urls);
dialog.setFileMode(QFileDialog::AnyFile);
if (dialog.exec()) {
    // ...
}

その場合、ファイルダイアログは次のようになります:

サイドバーにURLを設定した状態でファイル選択ダイアログを開く

「sidebarUrls()」も参照してください 。

[override virtual] void QFileDialog::setVisible(bool visible)

QDialog::setVisible (bool visible)を再実装します。

QList<QUrl> QFileDialog::sidebarUrls() const

現在サイドバーに表示されているURLのリストを返します

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

bool QFileDialog::testOption(QFileDialog::Option option) const

指定されたoption が有効な場合はtrue を返し、そうでない場合はfalseを返します。

options およびsetOption()も参照してください 。

[signal] void QFileDialog::urlSelected(const QUrl &url)

選択内容が変更され、ダイアログが確定されると、このシグナルが、(空の場合もある)選択されたurl とともに発信されます。

currentUrlChanged() およびQDialog::Acceptedも参照してください 。

[signal] void QFileDialog::urlsSelected(const QList<QUrl> &urls)

選択内容が変更され、ダイアログが確定されると、このシグナルが、選択されたurls のリスト(空の場合もある)とともに発信されます。

currentUrlChanged() およびQDialog::Acceptedも参照してください 。

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