QDir Class
QDir 클래스는 디렉토리 구조와 그 내용에 대한 액세스를 제공합니다. 더 보기...
헤더: | #include <QDir> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- QDir은 입력/출력 및 네트워킹과 암시적으로 공유되는 클래스의 일부입니다.
이 클래스는 동등 비교가 가능합니다.
참고: 이 클래스의 모든 함수는 재진입입니다.
공용 유형
enum | Filter { Dirs, AllDirs, Files, Drives, NoSymLinks, …, CaseSensitive } |
flags | Filters |
enum | SortFlag { Name, Time, Size, Type, Unsorted, …, LocaleAware } |
flags | SortFlags |
공용 함수
QDir(const QString &path = QString()) | |
(since 6.0) | QDir(const std::filesystem::path &path) |
QDir(const QString &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries) | |
(since 6.0) | QDir(const std::filesystem::path &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries) |
QDir(const QDir &dir) | |
~QDir() | |
QString | absoluteFilePath(const QString &fileName) const |
QString | absolutePath() const |
QString | canonicalPath() const |
bool | cd(const QString &dirName) |
bool | cdUp() |
qsizetype | count() const |
QString | dirName() const |
QFileInfoList | entryInfoList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const |
QFileInfoList | entryInfoList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const |
QStringList | entryList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const |
QStringList | entryList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const |
bool | exists(const QString &name) const |
bool | exists() const |
QString | filePath(const QString &fileName) const |
(since 6.0) std::filesystem::path | filesystemAbsolutePath() const |
(since 6.0) std::filesystem::path | filesystemCanonicalPath() const |
(since 6.0) std::filesystem::path | filesystemPath() const |
QDir::Filters | filter() const |
bool | isAbsolute() const |
bool | isEmpty(QDir::Filters filters = Filters(AllEntries | NoDotAndDotDot)) const |
bool | isReadable() const |
bool | isRelative() const |
bool | isRoot() const |
bool | makeAbsolute() |
(since 6.3) bool | mkdir(const QString &dirName, QFileDevice::Permissions permissions) const |
bool | mkdir(const QString &dirName) const |
bool | mkpath(const QString &dirPath) const |
QStringList | nameFilters() const |
QString | path() const |
void | refresh() const |
QString | relativeFilePath(const QString &fileName) const |
bool | remove(const QString &fileName) |
bool | removeRecursively() |
bool | rename(const QString &oldName, const QString &newName) |
bool | rmdir(const QString &dirName) const |
bool | rmpath(const QString &dirPath) const |
void | setFilter(QDir::Filters filters) |
void | setNameFilters(const QStringList &nameFilters) |
void | setPath(const QString &path) |
(since 6.0) void | setPath(const std::filesystem::path &path) |
void | setSorting(QDir::SortFlags sort) |
QDir::SortFlags | sorting() const |
void | swap(QDir &other) |
QDir & | operator=(QDir &&other) |
QDir & | operator=(const QDir &dir) |
QString | operator[](qsizetype pos) const |
정적 공용 멤버
void | addSearchPath(const QString &prefix, const QString &path) |
(since 6.0) void | addSearchPath(const QString &prefix, const std::filesystem::path &path) |
QString | cleanPath(const QString &path) |
QDir | current() |
QString | currentPath() |
QFileInfoList | drives() |
QString | fromNativeSeparators(const QString &pathName) |
QDir | home() |
QString | homePath() |
bool | isAbsolutePath(const QString &path) |
bool | isRelativePath(const QString &path) |
QChar | listSeparator() |
bool | match(const QString &filter, const QString &fileName) |
bool | match(const QStringList &filters, const QString &fileName) |
QDir | root() |
QString | rootPath() |
QStringList | searchPaths(const QString &prefix) |
QChar | separator() |
bool | setCurrent(const QString &path) |
void | setSearchPaths(const QString &prefix, const QStringList &searchPaths) |
QDir | temp() |
QString | tempPath() |
QString | toNativeSeparators(const QString &pathName) |
관련 비회원
bool | operator!=(const QDir &lhs, const QDir &rhs) |
bool | operator==(const QDir &lhs, const QDir &rhs) |
상세 설명
QDir은 경로 이름을 조작하고, 경로 및 파일에 관한 정보에 액세스하고, 기본 파일 시스템을 조작하는 데 사용됩니다. Qt의 리소스 시스템에 액세스하는 데에도 사용할 수 있습니다.
Qt는 URL에서 "/"를 경로 구분 기호로 사용하는 것과 같은 방식으로 "/"를 범용 디렉토리 구분 기호로 사용합니다. 항상 "/"를 디렉토리 구분자로 사용하는 경우, Qt는 기본 운영 체제에 맞게 경로를 변환합니다.
QDir은 상대 경로 또는 절대 경로를 사용하여 파일을 가리킬 수 있습니다. 절대 경로는 디렉토리 구분 기호로 시작됩니다(Windows에서는 선택적으로 드라이브 사양이 앞에 올 수 있음). 상대 파일 이름은 디렉터리 이름 또는 파일 이름으로 시작하며 현재 디렉터리에 상대적인 경로를 지정합니다.
절대 경로의 예
Windows에서 위의 두 번째 예는 파일에 액세스할 때 C:\Users
로 변환됩니다.
상대 경로의 예
QDir("images/landscape.png")
isRelative() 또는 isAbsolute() 함수를 사용하여 QDir이 상대 파일 경로를 사용하는지 절대 파일 경로를 사용하는지 확인할 수 있습니다. makeAbsolute ()를 호출하여 상대 QDir을 절대 경로로 변환합니다.
참고: 콜론(:)으로 시작하는 경로는 QResource 을 나타내므로 항상 절대 경로로 간주됩니다.
탐색 및 디렉토리 작업
path() 함수를 사용하여 디렉터리 경로를 구할 수 있고 setPath() 함수를 사용하여 새 경로를 설정할 수 있습니다. 디렉토리의 절대 경로는 absolutePath()를 호출하여 찾을 수 있습니다.
디렉터리의 이름은 dirName() 함수를 사용하여 찾을 수 있습니다. 이 함수는 일반적으로 디렉터리의 위치를 지정하는 절대 경로의 마지막 요소를 반환합니다. 그러나 QDir이 현재 디렉터리를 나타내는 경우 "."를 반환할 수도 있습니다.
cd() 및 cdUp() 함수를 사용하여 디렉터리 경로를 변경할 수도 있으며, 이 두 함수는 익숙한 셸 명령처럼 작동합니다. cd ()를 기존 디렉터리 이름으로 호출하면 QDir 개체가 디렉터리를 대신 해당 디렉터리를 나타내도록 디렉터리를 변경합니다. cdUp () 함수는 QDir 개체의 디렉터리를 부모 디렉터리를 참조하도록 변경합니다(예: cd("...")는 cdUp()와 동일).
디렉터리는 mkdir()로 만들고, rename()로 이름을 바꾸고, rmdir()로 제거할 수 있습니다.
exists()를 사용하여 지정된 이름의 디렉터리가 있는지 테스트할 수 있으며 isReadable(), isAbsolute(), isRelative() 및 isRoot()를 사용하여 디렉터리의 속성을 테스트할 수 있습니다.
refresh() 함수는 디스크에서 디렉터리의 데이터를 다시 읽습니다.
파일 및 디렉터리 콘텐츠
디렉터리에는 파일, 디렉터리 및 심볼릭 링크를 나타내는 여러 항목이 포함됩니다. 디렉터리의 항목 수는 count()에 의해 반환됩니다. 디렉터리에 있는 모든 항목의 이름 문자열 목록은 entryList()로 얻을 수 있습니다. 각 항목에 대한 정보가 필요한 경우 entryInfoList()를 사용하여 QFileInfo 객체 목록을 가져옵니다.
디렉터리 내의 파일 및 디렉터리 경로는 filePath() 및 absoluteFilePath()를 사용하여 만들 수 있습니다. filePath () 함수는 지정된 파일 또는 디렉터리의 경로를 QDir 개체의 경로를 기준으로 반환하고, absoluteFilePath() 함수는 지정된 파일 또는 디렉터리의 절대 경로를 반환합니다. 이 두 함수는 파일이나 디렉터리의 존재 여부를 확인하지 않고 경로만 생성합니다.
QDir directory("Documents/Letters"); QString path = directory.filePath("contents.txt"); QString absolutePath = directory.absoluteFilePath("contents.txt");
파일은 remove() 함수를 사용하여 제거할 수 있습니다. 디렉토리는 파일과 같은 방식으로 제거할 수 없으므로 rmdir()를 사용하여 제거합니다.
QDir 개체에 필터를 적용하여 entryList() 및 entryInfoList()에서 반환되는 항목 수를 줄일 수 있습니다. 이름 필터를 적용하여 파일 이름이 일치해야 하는 와일드카드로 패턴을 지정하고, 항목의 속성을 선택하고 파일과 디렉터리를 구분할 수 있는 속성 필터 및 정렬 순서를 지정할 수 있습니다.
이름 필터는 setNameFilters()로 전달되는 문자열 목록입니다. 속성 필터는 필터의 비트 또는 OR 조합으로 구성되며 setFilter()를 호출할 때 지정합니다. 정렬 순서는 setSorting()와 SortFlags 의 비트 OR 조합을 사용하여 지정합니다.
match() 함수를 사용하여 파일 이름이 필터와 일치하는지 테스트할 수 있습니다.
필터 및 정렬 순서 플래그는 entryList() 및 entryInfoList()를 호출할 때 지정하여 이전에 정의된 동작을 재정의할 수도 있습니다.
현재 디렉토리 및 기타 특수 경로
일부 일반적인 디렉터리에 대한 액세스는 QDir 객체를 반환하는 여러 정적 함수와 함께 제공됩니다. 문자열을 반환하는 해당 함수도 있습니다:
QDir | QString | 반환 값 |
---|---|---|
current() | currentPath() | 애플리케이션의 작업 디렉토리 |
home() | homePath() | 사용자의 홈 디렉토리 |
root() | rootPath() | 루트 디렉토리 |
temp() | tempPath() | 시스템의 임시 디렉토리 |
setCurrent() 정적 함수는 애플리케이션의 작업 디렉터리를 설정하는 데에도 사용할 수 있습니다.
애플리케이션의 실행 파일이 포함된 디렉터리를 찾으려면 QCoreApplication::applicationDirPath()를 참조하세요.
drives() 정적 함수는 파일링 시스템을 포함하는 각 장치에 대한 루트 디렉터리 목록을 제공합니다. 유닉스 시스템에서는 단일 루트 디렉터리 "/"가 포함된 목록을 반환하고, Windows에서는 일반적으로 C:/
및 사용자 시스템 구성에 따라 D:/
등의 다른 드라이브 문자가 포함된 목록을 반환합니다.
경로 조작 및 문자열
경로의 해당 지점에서 현재 디렉터리를 참조하는 "." 요소, 상위 디렉터리를 참조하는 ".." 요소 및 기호 링크가 포함된 경로는 canonicalPath() 함수를 사용하여 표준 형식으로 줄일 수 있습니다.
cleanPath()를 사용하여 중복된 "/" 및 "..." 요소를 제거하여 경로를 단순화할 수도 있습니다.
사용자 플랫폼의 기본 표현으로 경로를 표시할 수 있어야 하는 경우가 있습니다. 정적 toNativeSeparators() 함수는 각 디렉터리 구분 기호가 기본 운영 체제에 적합한 구분 기호로 대체된 지정된 경로의 복사본을 반환합니다.
예제
디렉터리가 존재하는지 확인합니다:
( QFileInfo::exists() 또는 QFile::exists() 중 하나의 정적 편의 기능을 사용할 수도 있습니다.)
디렉터리 탐색 및 파일 읽기:
QDir dir = QDir::root(); // "/"if (!dir.cd("tmp")) { // "/tmp" qWarning("Cannot find the \"/tmp\" directory"); } else { QFile file(dir.filePath("ex1.txt")); // "/tmp/ex1.txt" if (!file.open(QIODevice::ReadWrite)) qWarning("Cannot create the file %s", file.name());
현재 디렉토리에 있는 모든 파일(심볼릭 링크 제외)을 크기별로 정렬하여 가장 작은 파일부터 나열하는 프로그램입니다:
#include <QDir> #include <iostream> int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); QDir dir; dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); dir.setSorting(QDir::Size | QDir::Reversed); QFileInfoList list = dir.entryInfoList(); std::cout << " Bytes Filename" << std::endl; for (int i = 0; i < list.size(); ++i) { QFileInfo fileInfo = list.at(i); std::cout << qPrintable(QString("%1 %2").arg(fileInfo.size(), 10) .arg(fileInfo.fileName())); std::cout << std::endl; } return 0; }
플랫폼별 문제
Android에서는 콘텐츠 URI를 처리할 때 몇 가지 제한 사항이 적용됩니다:
- Android의 기본 파일 선택기를 구현하는 QFileDialog 을 통해 사용자에게 액세스 권한이 필요할 수 있습니다.
- 다른 공용 외부 디렉터리 대신 앱 전용 디렉터리를 사용하는 등 범위 지정 저장소 가이드라인을 따르는 것을 목표로 하세요. 자세한 내용은 저장소 모범 사례도 참조하세요.
- Qt API(예: QFile)의 설계로 인해 후자의 API를 Android의 MediaStore API와 완전히 통합할 수 없습니다.
QFileInfo, QFile, QFileDialog, QCoreApplication::applicationDirPath() 및 더 보기 예제를참조하세요 .
멤버 유형 문서
열거형 QDir::필터
플래그 QDir::필터
이 열거형은 QDir(예: entryList() 및 entryInfoList()에 사용할 수 있는 필터링 옵션을 설명합니다. 필터 값은 비트 OR 연산자를 사용하여 다음 목록의 값을 결합하여 지정합니다:
상수 | 값 | 설명 |
---|---|---|
QDir::Dirs | 0x001 | 필터와 일치하는 디렉터리를 나열합니다. |
QDir::AllDirs | 0x400 | 모든 디렉터리를 나열합니다. 즉, 디렉터리 이름에 필터를 적용하지 않습니다. |
QDir::Files | 0x002 | 파일 나열. |
QDir::Drives | 0x004 | 디스크 드라이브를 나열합니다(Unix에서는 무시됨). |
QDir::NoSymLinks | 0x008 | 심볼릭 링크를 나열하지 않습니다(심볼릭 링크를 지원하지 않는 운영 체제에서는 무시됨). |
QDir::NoDotAndDotDot | NoDot | NoDotDot | 특수 항목 "." 및 "..."을 나열하지 않습니다. |
QDir::NoDot | 0x2000 | 특수 항목 "."을 나열하지 마십시오. |
QDir::NoDotDot | 0x4000 | 특수 항목 "..."을 나열하지 마세요. |
QDir::AllEntries | Dirs | Files | Drives | 디렉토리, 파일, 드라이브 및 심볼릭 링크를 나열합니다(시스템을 지정하지 않는 한 끊어진 심볼릭 링크는 나열하지 않음). |
QDir::Readable | 0x010 | 애플리케이션에 읽기 권한이 있는 파일을 나열합니다. 읽기 가능 값은 Dirs 또는 Files와 결합해야 합니다. |
QDir::Writable | 0x020 | 애플리케이션에 쓰기 권한이 있는 파일을 나열합니다. 쓰기 가능 값은 디렉터리 또는 파일과 결합해야 합니다. |
QDir::Executable | 0x040 | 애플리케이션에 실행 권한이 있는 파일을 나열합니다. 실행 가능 값은 디렉터리 또는 파일과 결합해야 합니다. |
QDir::Modified | 0x080 | 수정된 파일만 나열합니다(유닉스에서는 무시됨). |
QDir::Hidden | 0x100 | 숨겨진 파일을 나열합니다(Unix의 경우 "."로 시작하는 파일). |
QDir::System | 0x200 | 시스템 파일을 나열합니다(Unix에서는 FIFO, 소켓 및 장치 파일이 포함되고, Windows에서는 .lnk 파일이 포함됨). |
QDir::CaseSensitive | 0x800 | 필터는 대소문자를 구분해야 합니다. |
필터 열거형 값을 사용하여 파일 및 디렉터리 목록을 필터링하는 함수에는 NoSymLinks 값을 설정하지 않는 한 파일 및 디렉터리에 대한 심볼릭 링크가 포함됩니다.
기본값으로 구성된 QDir 은 권한에 따라 파일을 필터링하지 않으므로 entryList() 및 entryInfoList()은 읽기, 쓰기, 실행 가능 또는 이 세 가지의 조합인 모든 파일을 반환합니다. 따라서 기본값은 작성하기 쉽고 동시에 유용합니다.
예를 들어 Readable
, Writable
, Files
플래그를 설정하면 애플리케이션에 읽기 권한, 쓰기 권한 또는 둘 다 있는 모든 파일을 나열할 수 있습니다. Dirs
및 Drives
플래그도 이 조합에 포함하면 애플리케이션이 읽기, 쓰기 또는 실행할 수 있는 모든 드라이브, 디렉터리, 모든 파일 및 해당 파일/디렉터리에 대한 심볼릭 링크가 나열될 수 있습니다.
디렉터리에 대한 권한을 검색하려면 entryInfoList() 함수를 사용하여 관련 QFileInfo 개체를 가져온 다음 QFileInfo::permissions()를 사용하여 각 파일에 대한 권한 및 소유권을 가져옵니다.
필터 유형은 QFlags<Filter>에 대한 typedef입니다. 필터 값의 OR 조합을 저장합니다.
열거형 QDir::SortFlag
플래그 QDir::SortFlags
이 열거형은 entryList() 및 entryInfoList()와 같이 QDir 에 사용할 수 있는 정렬 옵션을 설명합니다. 정렬 값은 다음 목록의 값을 OR로 결합하여 지정합니다:
상수 | 값 | 설명 |
---|---|---|
QDir::Name | 0x00 | 이름별로 정렬합니다. |
QDir::Time | 0x01 | 시간(수정 시간)을 기준으로 정렬합니다. |
QDir::Size | 0x02 | 파일 크기별로 정렬합니다. |
QDir::Type | 0x80 | 파일 유형(확장자)을 기준으로 정렬합니다. |
QDir::Unsorted | 0x03 | 정렬하지 않음. |
QDir::NoSort | -1 | 기본적으로 정렬되지 않습니다. |
QDir::DirsFirst | 0x04 | 디렉터리를 먼저 넣은 다음 파일을 넣습니다. |
QDir::DirsLast | 0x20 | 파일을 먼저 넣은 다음 디렉터리를 넣습니다. |
QDir::Reversed | 0x08 | 정렬 순서를 반대로 합니다. |
QDir::IgnoreCase | 0x10 | 대소문자를 구분하지 않고 정렬합니다. |
QDir::LocaleAware | 0x40 | 현재 로캘 설정을 사용하여 항목을 적절하게 정렬합니다. |
처음 네 개 중 하나만 지정할 수 있습니다.
디렉터리 우선과 역순을 모두 지정하면 디렉터리가 여전히 우선이지만 역순으로 나열되며, 파일은 디렉터리 다음에 다시 역순으로 나열됩니다.
SortFlags 유형은 QFlags<SortFlag>에 대한 typedef입니다. SortFlag 값의 OR 조합을 저장합니다.
멤버 함수 문서
QDir::QDir(const QString &path = QString())
지정된 디렉터리를 가리키는 QDir을 생성합니다 path. 경로가 비어 있으면 프로그램의 작업 디렉터리인 (".")가 사용됩니다.
currentPath()도 참조하세요 .
[since 6.0]
QDir::QDir(const std::filesystem::path &path)
지정된 디렉터리를 가리키는 QDir을 생성합니다 path. 경로가 비어 있으면 프로그램의 작업 디렉터리 (".")가 사용됩니다.
이 함수는 Qt 6.0에 도입되었습니다.
currentPath()도 참조하십시오 .
QDir::QDir(const QString &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries)
nameFilter 을 사용하여 이름별로, filters 을 사용하여 속성별로 항목을 필터링하는 경로 path 를 가진 QDir을 구성합니다. 또한 sort 을 사용하여 이름을 정렬합니다.
기본값 nameFilter 은 아무것도 제외하지 않는 빈 문자열이고, 기본값 filters 은 AllEntries 이며, 역시 아무것도 제외하지 않습니다. 기본값 sort 은 Name | IgnoreCase 으로 대소문자를 구분하지 않고 이름을 기준으로 정렬합니다.
path 가 빈 문자열인 경우 QDir은 "."(현재 디렉터리)를 사용합니다. nameFilter 이 빈 문자열인 경우 QDir은 이름 필터 "*"(모든 파일)를 사용합니다.
참고: path 은 존재하지 않아도 됩니다.
exists(), setPath(), setNameFilters(), setFilter() 및 setSorting()도 참조하세요 .
[since 6.0]
QDir::QDir(const std::filesystem::path &path, const QString &nameFilter, QDir::SortFlags sort = SortFlags(Name | IgnoreCase), QDir::Filters filters = AllEntries)
nameFilter 을 사용하여 이름별로, filters 을 사용하여 속성별로 항목을 필터링하는 경로 path 를 가진 QDir을 구성합니다. 또한 sort 을 사용하여 이름을 정렬합니다.
기본값 nameFilter 은 아무것도 제외하지 않는 빈 문자열이고, 기본값 filters 은 AllEntries 이며, 역시 아무것도 제외하지 않습니다. 기본 sort 은 Name | IgnoreCase 으로, 대소문자를 구분하지 않고 이름을 기준으로 정렬합니다.
path 가 비어 있으면 QDir은 "."(현재 디렉터리)를 사용합니다. nameFilter 이 빈 문자열인 경우 QDir은 이름 필터 "*"(모든 파일)를 사용합니다.
참고: path 은 존재하지 않아도 됩니다.
이 함수는 Qt 6.0에 도입되었습니다.
exists(), setPath(), setNameFilters(), setFilter() 및 setSorting()도 참조하십시오 .
QDir::QDir(const QDir &dir)
dir 디렉터리에 대한 QDir 객체의 복사본인 QDir 객체를 생성합니다.
operator=()도 참조하세요 .
[noexcept]
QDir::~QDir()
QDir 개체를 삭제하면 해당 리소스를 확보할 수 있습니다. 파일 시스템의 기본 디렉터리에는 영향을 미치지 않습니다.
QString QDir::absoluteFilePath(const QString &fileName) const
디렉터리에 있는 파일의 절대 경로 이름을 반환합니다. 파일이 디렉터리에 실제로 존재하는지는 확인하지 않습니다( exists()를 참조하세요). fileName 의 중복된 여러 구분 기호 또는 "." 및 "." 디렉터리는 제거되지 않습니다( cleanPath() 참조).
relativeFilePath(), filePath() 및 canonicalPath()도 참조하세요 .
QString QDir::absolutePath() const
기호 링크를 포함할 수 있지만 중복된 ".", "." 또는 여러 구분 기호를 포함하지 않는 절대 경로("/"로 시작하거나 드라이브 사양이 있는 경로)를 반환합니다.
setPath(), canonicalPath(), exists(), cleanPath(), dirName() 및 absoluteFilePath()도 참조하세요 .
[static]
void QDir::addSearchPath(const QString &prefix, const QString &path)
prefix 의 검색 경로에 path 을 추가합니다.
setSearchPaths()도 참조하세요 .
[static, since 6.0]
void QDir::addSearchPath(const QString &prefix, const std::filesystem::path &path)
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.0에 도입되었습니다.
QString QDir::canonicalPath() const
표준 경로, 즉 기호 링크나 중복 "." 또는 ".." 요소가 없는 경로를 반환합니다.
심볼릭 링크가 없는 시스템에서 이 함수는 항상 absolutePath()가 반환하는 것과 동일한 문자열을 반환합니다. 표준 경로가 존재하지 않는 경우(일반적으로 매달린 심볼릭 링크로 인해) canonicalPath()는 빈 문자열을 반환합니다.
예시:
QString bin = "/local/bin"; // where /local/bin is a symlink to /usr/bin QDir binDir(bin); QString canonicalBin = binDir.canonicalPath(); // canonicalBin now equals "/usr/bin" QString ls = "/local/bin/ls"; // where ls is the executable "ls" QDir lsDir(ls); QString canonicalLs = lsDir.canonicalPath(); // canonicalLS now equals "/usr/bin/ls".
path(), absolutePath(), exists(), cleanPath(), dirName() 및 absoluteFilePath()도 참조하세요 .
bool QDir::cd(const QString &dirName)
QDir 의 디렉터리를 dirName 로 변경합니다.
새 디렉터리가 존재하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 새 디렉터리가 존재하지 않으면 논리 cd() 연산이 수행되지 않는다는 점에 유의하세요.
cd("...")를 호출하는 것은 cdUp()를 호출하는 것과 동일합니다.
cdUp(), isReadable(), exists() 및 path()도 참조하세요 .
bool QDir::cdUp()
QDir 의 현재 디렉토리에서 한 디렉토리를 위로 이동하여 디렉토리를 변경합니다.
새 디렉터리가 존재하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 새 디렉터리가 존재하지 않으면 논리적 cdUp() 연산이 수행되지 않는다는 점에 유의하세요.
참고: Android에서는 콘텐츠 URI에 대해 이 기능이 지원되지 않습니다. 자세한 내용은 DocumentFile.getParentFile()을 참조하세요.
cd(), isReadable(), exists() 및 path()도 참조하세요 .
[static]
QString QDir::cleanPath(const QString &path)
디렉토리 구분 기호가 정규화되고(즉, 플랫폼 기본 구분 기호가 "/"로 변환됨) 중복 구분 기호가 제거되고 "."와 "."가 해결된(가능한 한) path 을 반환합니다.
심볼릭 링크는 유지됩니다. 이 함수는 표준 경로를 반환하지 않고 입력의 가장 간단한 버전을 반환합니다. 예를 들어 "./local"은 "local", "local/../bin"은 "bin", "/local/usr/../bin"은 "/local/bin"이 됩니다.
absolutePath() 및 canonicalPath()도 참조하세요 .
qsizetype QDir::count() const
디렉터리에 있는 총 디렉터리 및 파일 수를 반환합니다.
entryList().count()와 동일합니다.
참고: 6.5 이전 Qt 버전에서 이 함수는 qsizetype
이 아닌 uint
을 반환했습니다.
operator[]() 및 entryList()도 참조하십시오 .
[static]
QDir QDir::current()
애플리케이션의 현재 디렉터리를 반환합니다.
디렉터리는 현재 디렉터리의 절대 경로를 사용하여 구성되므로 path()는 absolutePath()와 동일합니다.
currentPath(), setCurrent(), home(), root() 및 temp()도 참조하세요 .
[static]
QString QDir::currentPath()
애플리케이션의 현재 디렉터리의 절대 경로를 반환합니다. 현재 디렉터리는 QDir::setCurrent()로 설정된 마지막 디렉터리 또는 이 디렉터리가 호출되지 않은 경우 상위 프로세스에서 이 애플리케이션을 시작한 디렉터리입니다.
current(), setCurrent(), homePath(), rootPath(), tempPath() 및 QCoreApplication::applicationDirPath()도 참조하세요 .
QString QDir::dirName() const
디렉터리 이름을 반환합니다. 디렉터리 이름은 경로와 같지 않습니다 (예: 이름이 "mail"인 디렉터리는 "/var/spool/mail" 경로를 가질 수 있습니다). 디렉터리에 이름이 없는 경우(예: 루트 디렉터리인 경우) 빈 문자열이 반환됩니다.
이 이름의 디렉터리가 실제로 존재하는지 여부는 확인하지 않지만 exists()를 참조하세요.
path(), filePath(), absolutePath() 및 absoluteFilePath()도 참조하세요 .
[static]
QFileInfoList QDir::drives()
이 시스템의 루트 디렉터리 목록을 반환합니다.
Windows에서는 "C:/", "D:/" 등이 포함된 QFileInfo 개체 목록을 반환합니다. 비어 있는 추출 가능한 미디어가 있는 드라이브는 반환하지 않습니다. 다른 운영 체제에서는 하나의 루트 디렉터리(예: "/")만 포함된 목록을 반환합니다.
QFileInfoList QDir::entryInfoList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
이전에 setNameFilters() 및 setFilter()로 설정한 이름 및 속성 필터에 따라 정렬되고 setSorting()로 설정한 플래그에 따라 정렬된 디렉터리의 모든 파일 및 디렉터리에 대한 QFileInfo 객체 목록을 반환합니다.
이름 필터, 파일 속성 필터 및 정렬 지정은 nameFilters, filters, sort 인수를 사용하여 재정의할 수 있습니다.
디렉토리를 읽을 수 없거나, 존재하지 않거나, 사양과 일치하는 항목이 없는 경우 빈 목록을 반환합니다.
entryList(), setNameFilters(), setSorting(), setFilter(), isReadable(), exists()도 참조하세요 .
QFileInfoList QDir::entryInfoList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
이 함수는 오버로드된 함수입니다.
이전에 setNameFilters() 및 setFilter()로 설정한 이름 및 속성 필터에 따라 정렬되고 setSorting()로 설정한 플래그에 따라 정렬된 디렉터리의 모든 파일 및 디렉터리에 대한 QFileInfo 객체 목록을 반환합니다.
filters 및 sort 인수를 사용하여 속성 필터 및 정렬 사양을 재정의할 수 있습니다.
디렉토리를 읽을 수 없거나, 존재하지 않거나, 사양과 일치하는 항목이 없는 경우 빈 목록을 반환합니다.
entryList(), setNameFilters(), setSorting(), setFilter(), isReadable(), exists()도 참조하세요 .
QStringList QDir::entryList(const QStringList &nameFilters, QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
이전에 setNameFilters() 및 setFilter()로 설정한 이름 및 속성 필터에 따라 정렬되고 setSorting()로 설정한 플래그에 따라 정렬된 디렉토리 내 모든 파일 및 디렉터리의 이름 목록을 반환합니다.
이름 필터, 파일 속성 필터 및 정렬 지정은 nameFilters, filters, sort 인수를 사용하여 재정의할 수 있습니다.
디렉터리를 읽을 수 없거나, 존재하지 않거나, 사양과 일치하는 항목이 없는 경우 빈 목록을 반환합니다.
entryInfoList(), setNameFilters(), setSorting() 및 setFilter()도 참조하세요 .
QStringList QDir::entryList(QDir::Filters filters = NoFilter, QDir::SortFlags sort = NoSort) const
이 함수는 오버로드된 함수입니다.
이전에 setNameFilters() 및 setFilter()로 설정한 이름 및 속성 필터에 따라 정렬되고 setSorting()로 설정한 플래그에 따라 정렬된 디렉토리 내 모든 파일 및 디렉터리의 이름 목록을 반환합니다.
filters 및 sort 인수를 사용하여 속성 필터 및 정렬 사양을 재정의할 수 있습니다.
디렉토리를 읽을 수 없거나, 존재하지 않거나, 사양과 일치하는 항목이 없는 경우 빈 목록을 반환합니다.
참고: 존재하지 않는 파일을 가리키는 심볼릭 링크를 나열하려면 System 을 필터에 전달해야 합니다.
entryInfoList(), setNameFilters(), setSorting() 및 setFilter()도 참조하세요 .
bool QDir::exists(const QString &name) const
name 이라는 파일이 존재하면 true
을 반환하고, 그렇지 않으면 false를 반환합니다.
name 에 절대 파일 경로가 포함되지 않는 한 파일 이름은 디렉터리 자체에 상대적인 것으로 간주되므로 이 함수는 일반적으로 디렉터리 내에 파일이 있는지 확인하는 데 사용됩니다.
QFileInfo::exists() 및 QFile::exists()도 참조하세요 .
bool QDir::exists() const
이 함수는 오버로드된 함수입니다.
디렉터리가 존재하면 true
를 반환하고, 그렇지 않으면 false
을 반환합니다(같은 이름의 파일이 발견되면 이 함수는 false를 반환합니다).
인수를 받는 이 함수의 오버로드는 디렉터리 내에 파일과 디렉터리가 있는지 테스트하는 데 사용됩니다.
QFileInfo::exists() 및 QFile::exists()도 참조하세요 .
QString QDir::filePath(const QString &fileName) const
디렉터리에 있는 파일의 경로 이름을 반환합니다. 파일이 디렉터리에 실제로 존재하는지는 확인하지 않습니다. exists()를 참조하세요. QDir 가 상대 경로인 경우 반환되는 경로 이름도 상대 경로입니다. fileName 에서 중복된 여러 구분 기호 또는 "." 및 "." 디렉터리는 제거되지 않습니다( cleanPath() 참조).
dirName(), absoluteFilePath(), isRelative() 및 canonicalPath()도 참조하세요 .
[since 6.0]
std::filesystem::path QDir::filesystemAbsolutePath() const
absolutePath()를 std::filesystem::path
로 반환합니다.
이 함수는 Qt 6.0에 도입되었습니다.
absolutePath()도 참조하십시오 .
[since 6.0]
std::filesystem::path QDir::filesystemCanonicalPath() const
canonicalPath()를 std::filesystem::path
로 반환합니다.
이 함수는 Qt 6.0에 도입되었습니다.
canonicalPath()도 참조하십시오 .
[since 6.0]
std::filesystem::path QDir::filesystemPath() const
path()를 std::filesystem::path
로 반환합니다.
이 함수는 Qt 6.0에 도입되었습니다.
path()도 참조하십시오 .
QDir::Filters QDir::filter() const
setFilter()에서 설정한 값을 반환합니다.
setFilter()도 참조하세요 .
[static]
QString QDir::fromNativeSeparators(const QString &pathName)
파일 구분 기호로 '/'를 사용하여 pathName 를 반환합니다. 예를 들어 Windows에서 fromNativeSeparators("c:\\winnt\\system32
")는 "c:/winnt/system32"를 반환합니다.
반환되는 문자열은 일부 운영 체제(예: Unix)의 인수와 동일할 수 있습니다.
toNativeSeparators() 및 separator()도 참조하세요 .
[static]
QDir QDir::home()
사용자의 홈 디렉터리를 반환합니다.
이 디렉터리는 홈 디렉터리의 절대 경로를 사용하여 구성되므로 path()는 absolutePath()와 동일합니다.
자세한 내용은 homePath()를 참조하세요.
drives(), current(), root() 및 temp()도 참조하세요 .
[static]
QString QDir::homePath()
사용자의 홈 디렉터리의 절대 경로를 반환합니다.
Windows에서는 이 함수가 현재 사용자 프로필의 디렉터리를 반환합니다. 일반적으로는 다음과 같습니다:
C:/Users/Username
toNativeSeparators() 함수를 사용하여 구분 기호를 기본 운영 체제에 적합한 구분 기호로 변환합니다.
현재 사용자 프로필의 디렉터리가 존재하지 않거나 검색할 수 없는 경우 사용 가능한 기존 경로가 발견될 때까지 다음 대체 경로를 차례로 확인합니다(주어진 순서대로):
USERPROFILE
환경 변수에 지정된 경로HOMEDRIVE
및HOMEPATH
환경 변수를 연결하여 형성된 경로.HOME
환경 변수에 의해 지정된 경로.- rootPath() 함수(
SystemDrive
환경 변수 사용)에서 반환한 경로 C:/
디렉토리.
Windows 이외의 운영 체제에서는 HOME
환경 변수가 있으면 환경 변수가 사용되고, 그렇지 않으면 rootPath()에서 반환된 경로가 사용됩니다.
home(), currentPath(), rootPath() 및 tempPath()도 참조하세요 .
bool QDir::isAbsolute() const
디렉터리 경로가 절대 경로인 경우 true
를 반환하고, 그렇지 않으면 false
을 반환합니다. isAbsolutePath ()를 참조하세요.
참고: 콜론(:)으로 시작하는 경로는 QResource 을 나타내므로 항상 절대 경로로 간주됩니다.
isRelative(), makeAbsolute() 및 cleanPath()도 참조하세요 .
[static]
bool QDir::isAbsolutePath(const QString &path)
path 이 절대 경로인 경우 true
을 반환하고, 상대 경로인 경우 false
을 반환합니다.
참고: 콜론(:)으로 시작하는 경로는 QResource 을 나타내므로 항상 절대 경로로 간주됩니다.
isAbsolute(), isRelativePath(), makeAbsolute(), cleanPath() 및 QResource도 참조하세요 .
bool QDir::isEmpty(QDir::Filters filters = Filters(AllEntries | NoDotAndDotDot)) const
디렉터리가 비어 있는지 여부를 반환합니다.
QDir::AllEntries | QDir::NoDotAndDotDot
필터가 있는 count() == 0
과 동일하지만 디렉터리에 항목이 하나 이상 포함되어 있는지 여부만 확인하므로 더 빠릅니다.
참고: filters 플래그에 QDir::NoDotAndDotDot
을 포함하도록 설정하지 않는 한(기본값처럼) 디렉터리는 비어 있지 않습니다.
count(), entryList() 및 setFilter()도 참조하세요 .
bool QDir::isReadable() const
디렉터리를 읽을 수 있고 이름으로 파일을 열 수 있으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
경고: 이 함수의 값이 거짓이라고 해서 디렉터리에 있는 파일에 액세스할 수 없다는 보장은 없습니다.
QFileInfo::isReadable()도 참조하세요 .
bool QDir::isRelative() const
디렉터리 경로가 상대 경로인 경우 true
을 반환하고, 그렇지 않으면 false를 반환합니다. (유닉스에서는 경로가 "/"로 시작하지 않는 경우 상대 경로입니다).
참고: 콜론(:)으로 시작하는 경로는 QResource 을 나타내므로 항상 절대 경로로 간주됩니다.
makeAbsolute(), isAbsolute(), isAbsolutePath() 및 cleanPath()도 참조하세요 .
[static]
bool QDir::isRelativePath(const QString &path)
path 이 상대 경로인 경우 true
을 반환하고, 절대 경로인 경우 false
을 반환합니다.
참고: 콜론(:)으로 시작하는 경로는 QResource 을 나타내므로 항상 절대 경로로 간주됩니다.
isRelative(), isAbsolutePath() 및 makeAbsolute()도 참조하세요 .
bool QDir::isRoot() const
디렉터리가 루트 디렉터리인 경우 true
를 반환하고, 그렇지 않으면 false
을 반환합니다.
참고: 디렉터리가 루트 디렉터리에 대한 심볼릭 링크인 경우 이 함수는 false
을 반환합니다. 이를 테스트하려면 canonicalPath()를 사용하십시오.
QDir dir("/tmp/root_link"); dir = dir.canonicalPath();if (dir.isRoot()) qWarning("It is a root link");
[static constexpr noexcept]
QChar QDir::listSeparator()
기본 경로 목록 구분 기호인 Unix에서는 ':'를, Windows에서는 ';'를 반환합니다.
separator()도 참조하세요 .
bool QDir::makeAbsolute()
디렉터리 경로를 절대 경로로 변환합니다. 이미 절대 경로인 경우 아무 일도 일어나지 않습니다. 변환에 성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
isAbsolute(), isAbsolutePath(), isRelative() 및 cleanPath()도 참조하세요 .
[static]
bool QDir::match(const QString &filter, const QString &fileName)
fileName 이 와일드카드(글로브) 패턴 filter 과 일치하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. filter 에는 공백이나 세미콜론으로 구분된 여러 패턴이 포함될 수 있습니다. 일치 여부는 대소문자를 구분하지 않습니다.
QRegularExpression::fromWildcard(), entryList() 및 entryInfoList()도 참조하세요 .
[static]
bool QDir::match(const QStringList &filters, const QString &fileName)
이 함수는 오버로드된 함수입니다.
fileName 이 filters 목록의 와일드카드(글로브) 패턴 중 하나라도 일치하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 일치 여부는 대소문자를 구분하지 않습니다.
QRegularExpression::fromWildcard(), entryList() 및 entryInfoList()도 참조하세요 .
[since 6.3]
bool QDir::mkdir(const QString &dirName, QFileDevice::Permissions permissions) const
dirName 이라는 하위 디렉터리를 만듭니다.
성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
이 함수가 호출될 때 디렉터리가 이미 존재하면 false
을 반환합니다.
생성된 디렉터리의 권한은 permissions 로 설정됩니다.
POSIX 시스템에서 사용 권한은 umask
의 값에 영향을 받습니다.
Windows에서는 ACL을 사용하여 권한이 에뮬레이션됩니다. 그룹에 다른 그룹보다 적은 권한이 부여된 경우 이러한 ACL은 표준 순서가 아닐 수 있습니다. 이러한 권한이 있는 파일 및 디렉터리는 속성 대화 상자의 보안 탭이 열릴 때 경고를 생성합니다. 다른 사용자에게 부여된 모든 권한을 그룹에 부여하면 이러한 경고를 피할 수 있습니다.
이 기능은 Qt 6.3에 도입되었습니다.
rmdir()도 참조하세요 .
bool QDir::mkdir(const QString &dirName) const
이 함수는 오버로드된 함수입니다.
기본 권한이 있는 dirName 이라는 하위 디렉터리를 만듭니다.
POSIX 시스템에서 기본값은 umask
에서 허용하는 모든 권한을 부여하는 것입니다. Windows에서는 새 디렉터리가 상위 디렉터리로부터 권한을 상속받습니다.
bool QDir::mkpath(const QString &dirPath) const
디렉토리 경로를 만듭니다 dirPath.
이 함수는 디렉토리를 만드는 데 필요한 모든 상위 디렉토리를 생성합니다.
성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
이 함수가 호출될 때 경로가 이미 존재하면 true를 반환합니다.
rmpath()도 참조하세요 .
QStringList QDir::nameFilters() const
setNameFilters()에 설정된 문자열 목록을 반환합니다.
setNameFilters()도 참조하세요 .
QString QDir::path() const
경로를 반환합니다. 여기에는 기호 링크가 포함될 수 있지만 중복된 ".", ".." 또는 여러 개의 구분 기호는 포함되지 않습니다.
반환된 경로는 절대 또는 상대 경로일 수 있습니다( setPath() 참조).
setPath(), absolutePath(), exists(), cleanPath(), dirName(), absoluteFilePath(), toNativeSeparators() 및 makeAbsolute()도 참조하세요 .
void QDir::refresh() const
디렉토리 정보를 새로 고칩니다.
QString QDir::relativeFilePath(const QString &fileName) const
디렉터리를 기준으로 fileName 경로를 반환합니다.
QDir dir("/home/bob"); QString s; s = dir.relativeFilePath("images/file.jpg"); // s is "images/file.jpg" s = dir.relativeFilePath("/home/mary/file.txt"); // s is "../mary/file.txt"
absoluteFilePath(), filePath() 및 canonicalPath()도 참조하세요 .
bool QDir::remove(const QString &fileName)
파일을 제거합니다 fileName.
파일이 성공적으로 제거되면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
bool QDir::removeRecursively()
모든 콘텐츠를 포함하여 디렉토리를 제거합니다.
성공하면 true
를 반환하고, 그렇지 않으면 false를 반환합니다.
파일이나 디렉터리를 제거할 수 없는 경우 removeRecursively()는 계속 진행하여 가능한 한 많은 파일과 하위 디렉터리를 삭제하려고 시도한 다음 false
을 반환합니다.
디렉터리가 이미 제거된 경우 이 메서드는 true
(이미 도달한 예상 결과)를 반환합니다.
참고: 이 함수는 임시 디렉터리와 같은 작은 애플리케이션 내부 디렉터리를 제거하기 위한 것이지, 사용자가 볼 수 있는 디렉터리를 제거하기 위한 것이 아닙니다. 사용자가 볼 수 있는 작업의 경우 사용자에게 오류를 더 정확하게 보고하고, 오류 발생 시 해결 방법을 제공하며, 삭제하는 데 몇 분이 걸릴 수 있으므로 삭제 진행 상황을 표시하는 등의 작업을 수행하는 것이 오히려 좋습니다.
bool QDir::rename(const QString &oldName, const QString &newName)
파일 또는 디렉터리의 이름을 oldName 에서 newName 으로 바꾸고 성공하면 true를 반환하고, 그렇지 않으면 false
을 반환합니다.
대부분의 파일 시스템에서는 oldName 이 존재하지 않거나 새 이름의 파일이 이미 존재하는 경우에만 rename()이 실패합니다. 그러나 rename()이 실패할 수 있는 다른 이유도 있습니다. 예를 들어, 하나 이상의 파일 시스템에서 newName 가 열려 있는 파일을 가리키면 rename()이 실패합니다.
oldName 이 바로 이름을 바꿀 수 없는 파일(디렉터리가 아닌)인 경우, Qt는 oldName 을 newName 으로 복사하고 oldName 을 제거하려고 시도합니다.
QFile::rename()도 참조하십시오 .
bool QDir::rmdir(const QString &dirName) const
dirName 에 지정된 디렉터리를 제거합니다.
rmdir()이 성공하려면 디렉터리가 비어 있어야 합니다.
성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
mkdir()도 참조하세요 .
bool QDir::rmpath(const QString &dirPath) const
디렉토리 경로를 제거합니다 dirPath.
이 함수는 dirPath 에 있는 모든 상위 디렉터리가 비어 있으면 제거합니다. 이 함수는 mkpath(dirPath)와 반대입니다.
성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
mkpath()도 참조하세요 .
[static]
QDir QDir::root()
루트 디렉터리를 반환합니다.
디렉터리는 루트 디렉터리의 절대 경로를 사용하여 구성되므로 path()는 absolutePath()와 동일합니다.
자세한 내용은 rootPath()를 참조하세요.
drives(), current(), home() 및 temp()도 참조하세요 .
[static]
QString QDir::rootPath()
루트 디렉터리의 절대 경로를 반환합니다.
Unix 운영 체제의 경우 "/"를 반환합니다. Windows 파일 시스템의 경우 일반적으로 "c:/"를 반환합니다.
root(), drives(), currentPath(), homePath() 및 tempPath()도 참조하세요 .
[static]
QStringList QDir::searchPaths(const QString &prefix)
prefix 에 대한 검색 경로를 반환합니다.
setSearchPaths() 및 addSearchPath()도 참조하세요 .
[static]
QChar QDir::separator()
기본 디렉토리 구분 기호를 반환합니다: Unix에서는 "/", Windows에서는 "\"를 반환합니다.
이 함수를 사용하여 파일 경로를 작성할 필요는 없습니다. 항상 "/"를 사용하는 경우, Qt는 기본 운영 체제에 맞게 경로를 변환합니다. 운영 체제의 구분 기호를 사용하여 사용자에게 경로를 표시하려면 toNativeSeparators()를 사용하십시오.
listSeparator()도 참조하세요 .
[static]
bool QDir::setCurrent(const QString &path)
애플리케이션의 현재 작업 디렉터리를 path 로 설정합니다. 디렉터리가 성공적으로 변경되면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
QString absolute = "/local/bin"; QString relative = "local/bin"; QFileInfo absFile(absolute); QFileInfo relFile(relative); QDir::setCurrent(QDir::rootPath()); // absFile and relFile now point to the same file QDir::setCurrent("/tmp"); // absFile now points to "/local/bin", // while relFile points to "/tmp/local/bin"
current(), currentPath(), home(), root() 및 temp()도 참조하세요 .
void QDir::setFilter(QDir::Filters filters)
entryList() 및 entryInfoList()에서 사용하는 필터를 filters 로 설정합니다. 이 필터는 entryList() 및 entryInfoList()에서 반환해야 하는 파일 종류를 지정하는 데 사용됩니다. QDir::Filter 을 참조하세요.
filter() 및 setNameFilters()도 참조하세요 .
void QDir::setNameFilters(const QStringList &nameFilters)
entryList() 및 entryInfoList()에서 사용하는 이름 필터를 nameFilters 에 지정된 필터 목록으로 설정합니다.
각 이름 필터는 *
및 ?
와일드카드를 이해하는 와일드카드(글로빙) 필터입니다. QRegularExpression::fromWildcard ()를 참조하세요.
예를 들어 다음 코드는 QDir 에 3개의 이름 필터를 설정하여 C++ 소스 파일에 일반적으로 사용되는 확장자를 가진 파일만 나열되도록 합니다:
QStringList filters; filters << "*.cpp" << "*.cxx" << "*.cc"; dir.setNameFilters(filters);
nameFilters() 및 setFilter()도 참조하세요 .
void QDir::setPath(const QString &path)
디렉터리 경로를 path 로 설정합니다. 이 경로에는 중복된 ".", ".." 및 여러 개의 구분 기호가 제거됩니다. 이 경로를 가진 디렉터리가 실제로 존재하는지 여부는 확인되지 않지만 exists()를 사용하여 직접 확인할 수 있습니다.
경로는 절대 또는 상대 경로일 수 있습니다. 절대 경로는 디렉토리 구분 기호 "/"로 시작합니다(Windows에서는 선택적으로 드라이브 사양이 앞에 올 수 있음). 상대 파일 이름은 디렉터리 이름 또는 파일 이름으로 시작하며 현재 디렉터리를 기준으로 상대적인 경로를 지정합니다. 절대 경로의 예로는 "/tmp/quartz" 문자열이 있으며, 상대 경로는 "src/fatlib"와 같이 보일 수 있습니다.
path(), absolutePath(), exists(), cleanPath(), dirName(), absoluteFilePath(), isRelative(), makeAbsolute()도 참조하세요 .
[since 6.0]
void QDir::setPath(const std::filesystem::path &path)
이 함수는 오버로드된 함수입니다.
이 함수는 Qt 6.0에 도입되었습니다.
[static]
void QDir::setSearchPaths(const QString &prefix, const QStringList &searchPaths)
접두사가 prefix 인 파일 이름에 대한 Qt의 검색 경로를 searchPaths 로 설정하거나 바꿉니다.
파일 이름의 접두사를 지정하려면 접두사 뒤에 콜론 하나를 추가합니다(예: "images:undo.png", "xmldocs:books.xml"). prefix 에는 문자나 숫자만 포함할 수 있습니다(예: 콜론이나 슬래시는 포함할 수 없음).
Qt는 이 검색 경로를 사용하여 알려진 접두사를 가진 파일을 찾습니다. 검색 경로 항목은 첫 번째 항목부터 순서대로 테스트됩니다.
QDir::setSearchPaths("icons", QStringList(QDir::homePath() + "/images")); QDir::setSearchPaths("docs", QStringList(":/embeddedDocuments")); ... QPixmap pixmap("icons:undo.png"); // will look for undo.png in QDir::homePath() + "/images" QFile file("docs:design.odf"); // will look in the :/embeddedDocuments resource path
파일 이름 접두사는 Windows 드라이브 문자와의 충돌을 피하기 위해 2자 이상이어야 합니다.
검색 경로에는 Qt 리소스 시스템에 대한 경로가 포함될 수 있습니다.
searchPaths()도 참조하십시오 .
void QDir::setSorting(QDir::SortFlags sort)
entryList() 및 entryInfoList()에서 사용하는 정렬 순서를 설정합니다.
sort 은 열거형 QDir::SortFlag 의 값을 OR-ing하여 지정합니다.
QDir::SortFlags QDir::sorting() const
setSorting()에서 설정한 값을 반환합니다.
setSorting() 및 SortFlag도 참조하세요 .
[noexcept]
void QDir::swap(QDir &other)
이 QDir 인스턴스를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.
[static]
QDir QDir::temp()
시스템의 임시 디렉터리를 반환합니다.
이 디렉터리는 임시 디렉터리의 절대 정식 경로를 사용하여 구성되므로 path()는 absolutePath()와 동일합니다.
자세한 내용은 tempPath()를 참조하세요.
drives(), current(), home() 및 root()도 참조하세요 .
[static]
QString QDir::tempPath()
시스템 임시 디렉터리의 절대 정식 경로를 반환합니다.
Unix/Linux 시스템에서는 TMPDIR
환경 변수의 경로, TMPDIR
가 정의되지 않은 경우 /tmp
입니다. Windows에서는 일반적으로 TEMP
또는 TMP
환경 변수의 경로입니다. 이 메서드가 반환하는 경로는 (드라이브의) 루트 디렉터리가 아니면 디렉토리 구분 기호로 끝나지 않습니다.
temp(), currentPath(), homePath() 및 rootPath()도 참조하세요 .
[static]
QString QDir::toNativeSeparators(const QString &pathName)
'/' 구분 기호가 기본 운영 체제에 적합한 구분 기호로 변환된 pathName 을 반환합니다.
Windows의 경우, toNativeSeparators("c:/winnt/system32")는 "c:\winnt\system32"를 반환합니다.
반환되는 문자열은 일부 운영 체제(예: Unix)의 인수와 동일할 수 있습니다.
fromNativeSeparators() 및 separator()도 참조하세요 .
[noexcept]
QDir &QDir::operator=(QDir &&other)
이동-이 other 인스턴스를 QDir 인스턴스에 할당합니다.
QDir &QDir::operator=(const QDir &dir)
dir 객체의 복사본을 만들어 이 QDir 객체에 할당합니다.
QString QDir::operator[](qsizetype pos) const
파일 이름 목록에서 pos 위치에 있는 파일 이름을 반환합니다. entryList ().at(index)와 동일합니다. pos 은 목록에서 유효한 인덱스 위치여야 합니다(즉, 0 <= pos < count()).
참고: 6.5 이전 Qt 버전에서 pos 는 qsizetype
가 아닌 int
입니다.
관련 비회원
[noexcept]
bool operator!=(const QDir &lhs, const QDir &rhs)
디렉터리 lhs 과 디렉터리 rhs 의 경로가 다르거나 정렬 또는 필터 설정이 다르면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
예제:
// 현재 디렉터리는 "/usr/local"입니다.QDir d1("/usr/local/bin"); d1.setFilter(QDir::실행 파일);QDir d2("bin");if (d1 != d2) qDebug("They differ");
[noexcept]
bool operator==(const QDir &lhs, const QDir &rhs)
lhs 디렉터리와 rhs 디렉터리의 경로가 같고 정렬 및 필터 설정이 같으면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
예시:
© 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.