FileDialog QML Type

기본 파일 대화상자. 더 보기...

Import Statement: import Qt.labs.platform
Inherits:

Dialog

속성

상세 설명

FileDialog 유형은 네이티브 플랫폼 파일 대화 상자를 위한 QML API를 제공합니다.

파일 대화 상자를 표시하려면 FileDialog의 인스턴스를 구성하고 원하는 속성을 설정한 다음 open()를 호출합니다. currentFile 또는 currentFiles 속성은 대화 상자에서 현재 선택된 파일을 확인하는 데 사용할 수 있습니다. filefiles 속성은 대화 상자를 수락하여 최종 선택이 이루어진 후에만 업데이트됩니다.

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 모듈의 유형은 향후 버전에서 호환성을 보장하지 않습니다.

FolderDialogStandardPaths참조하세요 .

속성 문서

acceptLabel : string

이 속성은 대화 상자를 수락하는 버튼에 표시되는 레이블 텍스트를 저장합니다.

빈 문자열로 설정하면 기본 플랫폼의 기본 레이블이 사용됩니다. 기본 레이블은 일반적으로 대화 상자가 사용되는 fileMode 에 따라 Open 또는 Save 입니다.

기본값은 빈 문자열입니다.

rejectLabel참조하세요 .


currentFile : url

이 속성은 대화 상자에서 현재 선택된 파일을 보유합니다.

file 속성과 달리 currentFile 속성은 사용자가 대화 상자에서 파일을 선택하는 동안, 심지어 최종 선택이 이루어지기 전에도 업데이트됩니다.

filecurrentFiles참조하세요 .


currentFiles : list<url>

이 속성은 대화 상자에서 현재 선택된 파일을 보유합니다.

files 속성과 달리 currentFiles 속성은 사용자가 대화 상자에서 파일을 선택하는 동안, 심지어 최종 선택이 이루어지기 전에도 업데이트됩니다.

filescurrentFile참조하세요 .


defaultSuffix : string

이 속성에는 접미사가 지정되지 않은 선택된 파일에 추가되는 접미사가 있습니다. 접미사는 일반적으로 파일 유형을 나타내는 데 사용됩니다(예: "txt"는 텍스트 파일을 나타냄).

첫 번째 문자가 점('.')이면 제거됩니다.


file : url

이 속성은 최종 허용된 파일을 보유합니다.

currentFile 속성과 달리 file 속성은 사용자가 대화 상자에서 파일을 선택하는 동안에는 업데이트되지 않고 최종 선택이 완료된 후에만 업데이트됩니다. 즉, 사용자가 OK 을 클릭하여 파일을 수락한 경우에만 업데이트됩니다. 또는 accepted() 신호를 처리하여 최종 선택 내용을 가져올 수도 있습니다.

currentFileaccepted()도 참조하세요 .


fileMode : enumeration

이 속성은 대화 상자의 모드를 보유합니다.

사용 가능한 값은 다음과 같습니다:

Constant설명
FileDialog.OpenFile이 대화 상자는 기존 파일을 선택하는 데 사용됩니다(기본값).
FileDialog.OpenFiles이 대화 상자는 여러 개의 기존 파일을 선택하는 데 사용됩니다.
FileDialog.SaveFile이 대화 상자는 파일을 선택하는 데 사용됩니다. 파일이 존재하지 않아도 됩니다.

files : list<url>

이 속성에는 최종 허용된 파일이 저장됩니다.

currentFiles 속성과 달리 files 속성은 사용자가 대화 상자에서 파일을 선택하는 동안에는 업데이트되지 않고 최종 선택이 완료된 후에만 업데이트됩니다. 즉, 사용자가 OK 을 클릭하여 파일을 수락한 경우에만 업데이트됩니다. 또는 accepted() 신호를 처리하여 최종 선택 내용을 가져올 수도 있습니다.

currentFilesaccepted()도 참조하세요 .


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 이 선택되는지 결정합니다. 지정된 필터는 대화 상자가 열릴 때 선택됩니다. 사용자가 다른 필터를 선택하면 값이 업데이트됩니다.
[읽기 전용] 이름: 문자열이 속성은 선택한 필터의 이름을 보유합니다. 아래 예에서 첫 번째 필터의 이름은 "Text files" 이고 두 번째 필터의 이름은 "HTML files" 입니다.
[읽기 전용] 확장명: 목록<스트링>이 속성은 선택한 필터의 확장명 목록을 보유합니다. 아래 예에서 첫 번째 필터의 확장자 목록은 ["txt"] 이고 두 번째 필터는 ["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.