이 페이지에서

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 클래스를 사용하면 사용자가 파일 시스템을 탐색하여 하나 이상의 파일이나 디렉터리를 선택할 수 있습니다.

파일 열기 대화 상자

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() 함수를 사용합니다. 여러 필터를 지정하려면 두 개의 세미콜론(;;)으로 구분하면 됩니다:

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는 두 가지 보기 모드를 제공합니다:

  • 목록: 파일과 디렉터리를 간단한 목록 형태로 표시합니다.
  • 상세: 파일 크기 및 수정 날짜와 같은 추가 정보를 표시합니다.

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

이 열거형은 사용자가 파일 대화 상자에서 선택할 수 있는 항목을 나타내는 데 사용되며, 즉 사용자가 ‘확인’을 클릭했을 때 대화 상자가 반환하는 값을 의미합니다.

상수값설명
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)

이 함수는 사용자가 선택한 파일의 내용을 반환하는 편의를 위한 정적 함수입니다.

웹 샌드박스가 파일 액세스를 제한하는 경우, 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())

이 함수는 사용자가 선택한 하나 이상의 기존 파일을 반환하는 편의를 위한 정적 함수입니다.

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())

이 함수는 사용자가 선택한 하나 이상의 기존 파일을 반환하는 편의를 위한 정적 함수입니다. 사용자가 ‘취소’를 누르면 빈 목록을 반환합니다.

이 함수는 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

필드 대화 상자의 뷰에 항목을 렌더링하는 데 사용되는 항목 델리게이트를 반환합니다.

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 `를 전달할 수 있습니다.

웹 샌드박스가 파일 액세스를 제한하는 경우, 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 를 전달하면 됩니다. 예를 들어, URL clsid: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 유형에 정의된 글로브 패턴과 설명을 기반으로 이름 필터를 생성합니다.

"모든 파일 (*)" 필터에는 application/octet-stream을 사용하십시오. 이는 모든 파일의 기본 MIME 유형이기 때문입니다.

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 에 공백으로 구분된 하나 이상의 파일명 와일드카드 패턴이 괄호 쌍 안에 포함되어 있는 경우, 괄호 안에 포함된 텍스트만 필터로 사용됩니다. 즉, 다음 호출들은 모두 동등한 결과를 반환합니다:

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 이미지는 세 가지 확장자를 가질 수 있습니다. 애플리케이션에서 이러한 파일을 열 수 있다면, 필터로 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.