이 페이지에서

FolderListModel QML Type

FolderListModel은 파일 시스템 폴더의 내용을 나타내는 모델을 제공합니다. 더 보기...

Import Statement: import Qt.labs.folderlistmodel

속성

방법

상세 설명

FolderListModel은 로컬 파일 시스템 내 폴더의 내용에 대한 정보에 접근할 수 있게 해주며, 뷰 및 기타 데이터 컴포넌트에 파일 목록을 제공합니다.

참고: 이 타입은 Qt.labs.folderlistmodel 모듈을 임포트하여 사용할 수 있습니다. Qt.labs 모듈의 요소들은 향후 버전에서 호환성이 보장되지 않을 수 있습니다.

참고: FolderListModel의일부 기능은 QFileSystemWatcher 에 의존합니다. QFileSystemWatcher 가 비활성화된 경우, setFolder 를 통해 설정된 폴더의 변경 사항이 감시되지 않으므로, 일반적으로 디렉터리 변경 시 발생하던 신호(예: directoryUpdated 또는 directoryChanged)가 setFolder 를 수동으로 다시 호출하지 않으면 발생하지 않습니다. 자세한 내용은 Qt 구성 옵션을 참조하십시오.

import Qt.labs.folderlistmodel

folder 속성은 액세스할 폴더를 지정합니다. 폴더 내의 파일 및 디렉터리에 대한 정보는 모델의 인터페이스를 통해 제공됩니다. 컴포넌트는 다음 역할을 통해 이름과 경로에 액세스합니다:

  • fileName (string)
  • filePath (string)
  • fileUrl (url) (Qt 5.15부터)
  • fileBaseName (string)
  • fileSuffix (string)
  • fileSize (qlonglong)
  • fileModified (date)
  • fileAccessed (date)
  • fileIsDir (bool)

또한 isFolder() 메서드를 사용하면 파일 항목과 폴더 항목을 구분할 수 있습니다.

필터링

모델이 노출하는 파일 및 디렉터리의 수를 필터링하기 위해 다양한 속성을 설정할 수 있습니다.

nameFilters 속성을 설정하여 파일 및 디렉터리 이름에 적용되는 와일드카드 필터 목록을 포함시킬 수 있으며, 필터와 일치하는 항목만 노출되도록 할 수 있습니다.

showDirs 속성을 사용하여 디렉터리를 포함하거나 제외할 수 있으며, showDotAndDotDot 속성을 false로 설정하여 탐색 디렉터리를 제외할 수도 있고, showHidden 속성을 사용하여 숨겨진 파일을 포함하거나 제외할 수도 있습니다.

사용자가 액세스할 수 있는 파일과 디렉터리로만 노출 범위를 제한하는 것이 유용한 경우가 있습니다. 이 기능을 활성화하려면 showOnlyReadable 속성을 설정하면 됩니다.

사용 예

다음 예제는 FolderListModel을 사용하여 ListView 내의 QML 파일 목록을 제공하는 방법을 보여줍니다:

import QtQuick
import Qt.labs.folderlistmodel

ListView {
    width: 200; height: 400

    FolderListModel {
        id: folderModel
        nameFilters: ["*.qml"]
    }

    Component {
        id: fileDelegate
        required property string fileName
        Text { text: fileName }
    }

    model: folderModel
    delegate: fileDelegate
}

경로 구분자

Qt는 URL에서 "/"가 경로 구분자로 사용되는 것과 마찬가지로 "/"를 범용 디렉터리 구분자로 사용합니다. 디렉터리 구분자로 항상 "/"를 사용하면 Qt는 해당 경로를 기본 운영 체제의 형식에 맞게 변환합니다.

QML 데이터 모델도 참조하십시오 .

속성 문서

caseSensitive : bool

대소문자를 구분하는 패턴 매칭을 사용합니다.

기본적으로 이 속성은 true로 설정되어 있습니다.

count : int [read-only]

현재 폴더에서 필터 조건에 맞는 항목의 수를 반환합니다.

folder : url

folder 속성은 모델이 현재 제공하는 폴더의 URL을 저장합니다.

값은 file: 또는 qrc: 형식의 URL이거나 상대 URL이어야 합니다.

기본값은 FolderListModel 가 처음 초기화될 당시의 애플리케이션 작업 디렉터리입니다.

nameFilters : list<string>

nameFilters 속성에는 파일 이름 필터 목록이 포함되어 있습니다. 필터에는 ? 및 * 와일드카드가 포함될 수 있습니다.

아래 예제는 PNG 및 JPEG 파일을 필터링합니다:

FolderListModel {
    nameFilters: [ "*.png", "*.jpg" ]
}

참고: 필터는디렉터리를 제외하지 않습니다.

parentFolder : url [read-only]

현재 folder 의 상위 URL을 반환합니다.

rootFolder : url

이 속성이 설정되면, 지정된 폴더가 파일 시스템의 루트로 간주되므로 해당 폴더 내의 하위 폴더만 탐색할 수 있습니다.

showDirs : bool

true인 경우 디렉터리가 모델에 포함되며, 그렇지 않은 경우 파일만 포함됩니다.

기본적으로 이 속성은 true로 설정되어 있습니다.

nameFilters 는 디렉터리에 적용되지 않는다는 점에 유의하십시오.

showDotAndDotDot도 참조하십시오 .

showDirsFirst : bool

이 속성이 true인 경우, 모델에 디렉터리가 포함되어 있으면 항상 디렉터리가 먼저 표시되고, 그 다음에 파일이 표시됩니다.

기본적으로 이 속성의 값은 false입니다.

showDot : bool [since 6.12]

이 값이 true인 경우, 현재 "." 디렉터리가 모델에 포함됩니다.

기본적으로 이 속성의 값은 false입니다.

이 속성은 Qt 6.12에서 도입되었습니다.

showDotAndDotDot 및 showDotDot도 참조하십시오 .

showDotAndDotDot : bool

true인 경우, "." 및 ".." 디렉터리가 모델에 포함되며, 그렇지 않은 경우 제외됩니다.

기본적으로 이 속성의 값은 false입니다.

showDirs, showDot 및 showDotDot도 참조하십시오 .

showDotDot : bool [since 6.12]

이 속성이 true인 경우, ".." (상위) 디렉터리가 모델에 포함됩니다.

기본적으로 이 속성의 값은 false입니다.

이 속성은 Qt 6.12에서 도입되었습니다.

showDotAndDotDot 및 showDot도 참조하십시오 .

showFiles : bool

true인 경우 파일이 모델에 포함되며, 그렇지 않은 경우 디렉터리만 포함됩니다.

기본적으로 이 속성은 true입니다.

showDirs도 참조하십시오 .

showHidden : bool

true인 경우, 숨겨진 파일과 디렉터리가 모델에 포함되며, 그렇지 않은 경우 제외됩니다.

기본적으로 이 속성의 값은 false입니다.

showOnlyReadable : bool

true인 경우 읽기 전용 파일과 디렉터리만 표시되며, 그렇지 않으면 모든 파일과 디렉터리가 표시됩니다.

기본적으로 이 속성의 값은 false입니다.

showDirs도 참조하십시오 .

sortCaseSensitive : bool

true 로 설정하면 정렬 시 대소문자를 구분합니다. 이 속성의 기본값은 true 입니다.

sortField : enumeration

sortField 속성에는 정렬에 사용할 필드가 포함됩니다. sortField 는 다음 중 하나일 수 있습니다:

상수설명
FolderListModel.Unsorted정렬이 적용되지 않음
FolderListModel.Name파일 이름 순으로 정렬 (기본값)
FolderListModel.Time수정 날짜순 정렬
FolderListModel.Size파일 크기 기준 정렬
FolderListModel.Type파일 유형/확장자별 정렬

sortReversed도 참조하십시오 .

sortReversed : bool

true로 설정하면 정렬 순서를 반대로 바꿉니다. 기본값은 false입니다.

sortField도 참조하십시오 .

status : enumeration [read-only]

이 속성은 폴더 읽기 상태를 나타냅니다. 다음 중 하나일 수 있습니다:

상수설명
FolderListModel.Nullfolder 가 설정되지 않음
FolderListModel.Ready폴더가 로드된 상태
FolderListModel.Loading폴더가 현재 로드 중입니다

이 상태를 사용하여 진행 상황을 알리거나 상태 변경에 대응하십시오. 예를 들어, 다음과 같은 작업을 수행할 수 있습니다:

  • 상태 변경을 트리거합니다:
    State { name: 'loaded'; when: folderModel.status == FolderListModel.Ready }
  • onStatusChanged 신호 핸들러를 구현합니다:
    FolderListModel {
        id: folderModel
        onStatusChanged: if (folderModel.status == FolderListModel.Ready) console.log('Loaded')
    }
  • 상태 값에 바인딩하기:
    Text { text: folderModel.status == FolderListModel.Ready ? 'Loaded' : 'Not loaded' }

메서드 문서

var get(int index, string property)

지정된 index 에 해당하는 property 폴더를 반환합니다. 다음 속성을 사용할 수 있습니다:

  • fileName (string)
  • filePath (string)
  • fileUrl (url) (Qt 5.15부터)
  • fileBaseName (string)
  • fileSuffix (string)
  • fileSize (qlonglong)
  • fileModified (date)
  • fileAccessed (date)
  • fileIsDir (bool)

int indexOf(url file)

모델에 지정된 file URL이 포함되어 있으면 해당 URL의 인덱스를 반환하고, 포함되어 있지 않으면 -1을 반환합니다.

bool isFolder(int index)

index 항목이 폴더인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.

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