이 페이지에서

FileDialog QML Type

파일 선택 대화 상자. 더 보기...

Import Statement: import QtQuick.Dialogs
Since: Qt 6.2
Inherits:

Dialog

속성

상세 설명

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이 속성은 선택된 필터의 이름을 저장합니다. 아래 예시에서 첫 번째 필터의 이름은 ‘ "Text files" ’이고, 두 번째 필터의 이름은 ‘ "HTML files" ’입니다.
[읽기 전용] extensions: list<string>이 속성은 선택된 필터의 확장자 목록을 저장합니다. 아래 예시에서 첫 번째 필터의 확장자 목록은 ["txt"] 이고, 두 번째 필터의 확장자 목록은 ["html", "htm"] 입니다.
[읽기 전용] globs: list<string>이 속성은 선택된 필터의 글로브 목록을 포함합니다. 아래 예시에서 첫 번째 필터의 글로브 목록은 ["*.txt"] 이고, 두 번째 필터의 글로브 목록은 ["*.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.