QProcessEnvironment Class
QProcessEnvironment 클래스는 프로그램에 전달할 수 있는 환경 변수를 보유합니다. 더 보기...
헤더: | #include <QProcessEnvironment> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 상속된 멤버를 포함한 모든 멤버 목록
- QProcessEnvironment는 입/출력 및 네트워킹과 암시적으로 공유되는 클래스의 일부입니다.
이 클래스는 동등 비교가 가능합니다.
참고: 이 클래스의 모든 함수는 재진입합니다.
공용 유형
(since 6.3) enum | Initialization { InheritFromParent } |
공용 함수
QProcessEnvironment() | |
(since 6.3) | QProcessEnvironment(QProcessEnvironment::Initialization) |
QProcessEnvironment(const QProcessEnvironment &other) | |
~QProcessEnvironment() | |
void | clear() |
bool | contains(const QString &name) const |
(since 6.3) bool | inheritsFromParent() const |
void | insert(const QString &name, const QString &value) |
void | insert(const QProcessEnvironment &e) |
bool | isEmpty() const |
QStringList | keys() const |
void | remove(const QString &name) |
void | swap(QProcessEnvironment &other) |
QStringList | toStringList() const |
QString | value(const QString &name, const QString &defaultValue = QString()) const |
QProcessEnvironment & | operator=(const QProcessEnvironment &other) |
정적 공용 멤버
QProcessEnvironment | systemEnvironment() |
관련 비회원
bool | operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
bool | operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
상세 설명
프로세스의 환경은 환경 변수로 알려진 키=값 쌍의 집합으로 구성됩니다. QProcessEnvironment 클래스는 이 개념을 감싸고 이러한 변수를 쉽게 조작할 수 있도록 합니다. 이 클래스는 QProcess 와 함께 사용하여 자식 프로세스의 환경을 설정하는 데 사용됩니다. 현재 프로세스의 환경을 변경하는 데는 사용할 수 없습니다.
호출하는 프로세스의 환경은 QProcessEnvironment::systemEnvironment()를 사용하여 얻을 수 있습니다.
Unix 시스템에서 변수 이름은 대소문자를 구분합니다. Unix 환경에서는 변수 이름과 내용 모두 임의의 바이너리 데이터를 포함할 수 있습니다(NUL 문자 제외). QProcessEnvironment는 이러한 변수를 보존하지만 현재 로캘 설정으로 인코딩할 수 없는 이름이나 값을 가진 변수 조작은 지원하지 않습니다( QString::toLocal8Bit 참조 ).
Windows에서 변수 이름은 대소문자를 구분하지 않지만 대소문자는 보존합니다. QProcessEnvironment는 그에 따라 동작합니다.
QProcess, QProcess::systemEnvironment() 및 QProcess::setProcessEnvironment()도 참조하세요 .
멤버 유형 문서
[since 6.3]
enum QProcessEnvironment::Initialization
이 열거형에는 생성자를 모호하게 만드는 데 사용되는 토큰이 포함되어 있습니다.
Constant | Value | 설명 |
---|---|---|
QProcessEnvironment::InheritFromParent | 0 | QProcess 에 설정하면 QProcessEnvironment 이 생성되어 부모로부터 변수를 상속받게 됩니다. |
이 열거형은 Qt 6.3에 도입되었습니다.
멤버 함수 문서
QProcessEnvironment::QProcessEnvironment()
새 QProcessEnvironment 객체를 생성합니다. 이 생성자는 빈 환경을 만듭니다. QProcess 에 설정하면 현재 환경 변수가 제거됩니다(Windows의 경우 PATH 및 SystemRoot 제외).
[noexcept, since 6.3]
QProcessEnvironment::QProcessEnvironment(QProcessEnvironment::Initialization)
QProcess 에 설정하면 부모 프로세스로부터 상속된 환경 변수를 사용하여 실행되도록 하는 객체를 만듭니다.
참고: 생성된 객체는 자체적으로 환경 변수를 저장하지 않으며, 새 프로세스가 시작될 때 환경 상속을 준비하도록 QProcess 에 지시할 뿐입니다. 생성된 개체에 환경 변수를 추가하면 환경 상속이 비활성화되고 추가된 환경 변수만 포함된 환경이 생성됩니다.
부모 환경의 수정된 버전이 필요한 경우 systemEnvironment()
의 반환 값으로 시작하여 수정합니다(단, 생성된 이후 부모 프로세스의 환경 변경 사항은 수정된 환경에 반영되지 않음에 유의하세요).
이 함수는 Qt 6.3에 도입되었습니다.
inheritsFromParent() 및 systemEnvironment()도 참조하세요 .
QProcessEnvironment::QProcessEnvironment(const QProcessEnvironment &other)
other 의 복사본인 QProcessEnvironment 객체를 생성합니다.
[noexcept]
QProcessEnvironment::~QProcessEnvironment()
이 QProcessEnvironment 객체와 관련된 리소스를 해제합니다.
void QProcessEnvironment::clear()
이 QProcessEnvironment 객체에서 모든 키=값 쌍을 제거하여 비워둡니다.
환경이 QProcessEnvironment::InheritFromParent
을 사용하여 구성된 경우 변경되지 않습니다.
isEmpty() 및 systemEnvironment()도 참조하세요 .
bool QProcessEnvironment::contains(const QString &name) const
이 QProcessEnvironment 객체에서 name 이름의 환경 변수가 발견되면 true
을 반환합니다.
[since 6.3]
bool QProcessEnvironment::inheritsFromParent() const
QProcessEnvironment 이 QProcessEnvironment::InheritFromParent
을 사용하여 생성된 경우 true
을 반환합니다.
이 함수는 Qt 6.3에 도입되었습니다.
isEmpty()도 참조하십시오 .
void QProcessEnvironment::insert(const QString &name, const QString &value)
이름 name 및 내용 value 의 환경 변수를 이 QProcessEnvironment 객체에 삽입합니다. 해당 변수가 이미 존재하는 경우 새 값으로 대체됩니다.
대부분의 시스템에서 내용 없는 변수를 삽입하면 변수가 전혀 설정되지 않은 것과 동일한 효과가 애플리케이션에 적용됩니다. 그러나 호환성 문제가 없도록 하려면 변수를 제거하려면 remove() 함수를 사용하세요.
contains(), remove() 및 value()도 참조하세요 .
void QProcessEnvironment::insert(const QProcessEnvironment &e)
이 함수는 과부하된 함수입니다.
e 의 내용을 이 QProcessEnvironment 객체에 삽입합니다. e 에도 존재하는 이 객체의 변수는 덮어쓰기됩니다.
bool QProcessEnvironment::isEmpty() const
이 QProcessEnvironment 객체가 비어 있는 경우, 즉 키=값 쌍이 설정되어 있지 않은 경우 true
을 반환합니다.
이 메서드는 QProcessEnvironment::InheritFromParent
을 사용하여 생성된 객체의 경우 true
도 반환합니다.
clear(), systemEnvironment(), insert() 및 inheritsFromParent()도 참조하세요 .
QStringList QProcessEnvironment::keys() const
이 QProcessEnvironment 객체의 모든 변수 이름이 포함된 목록을 반환합니다.
QProcessEnvironment::InheritFromParent
를 사용하여 생성된 객체의 경우 반환된 목록은 비어 있습니다.
void QProcessEnvironment::remove(const QString &name)
이 QProcessEnvironment 객체에서 name 로 식별되는 환경 변수를 제거합니다. 해당 변수가 이전에 존재하지 않았다면 아무 일도 일어나지 않습니다.
contains(), insert() 및 value()도 참조하세요 .
[noexcept]
void QProcessEnvironment::swap(QProcessEnvironment &other)
이 프로세스 환경 인스턴스를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.
[static]
QProcessEnvironment QProcessEnvironment::systemEnvironment()
systemEnvironment 함수는 호출하는 프로세스의 환경을 반환합니다.
QProcessEnvironment. 이 함수는 시스템 환경을 캐시하지 않습니다. 따라서 setenv
또는 putenv
같은 저수준 C 라이브러리 함수가 호출된 경우 업데이트된 버전의 환경을 가져올 수 있습니다.
그러나 이 함수를 반복적으로 호출하면 QProcessEnvironment 객체가 다시 생성되므로 간단한 작업이 아니라는 점에 유의하세요.
QProcess::systemEnvironment()도 참조하세요 .
QStringList QProcessEnvironment::toStringList() const
이 QProcessEnvironment 객체를 설정된 각 환경 변수에 대해 하나씩 문자열 목록으로 변환합니다. 환경 변수의 이름과 해당 값은 등호('=')로 구분됩니다.
이 함수가 반환하는 QStringList 내용은 프레젠테이션에 적합합니다. Unix에서 인코딩 문제가 발생할 수 있고 성능이 저하될 수 있으므로 QProcess::setEnvironment 함수와 함께 사용하는 것은 권장되지 않습니다.
systemEnvironment(), QProcess::systemEnvironment() 및 QProcess::setProcessEnvironment()도 참조하세요 .
QString QProcessEnvironment::value(const QString &name, const QString &defaultValue = QString()) const
QProcessEnvironment 객체에서 name 으로 식별된 변수를 검색하고 해당 값을 반환합니다. 이 객체에서 변수를 찾을 수 없으면 defaultValue 대신 반환됩니다.
contains(), insert() 및 remove()도 참조하세요 .
QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &other)
other QProcessEnvironment 객체의 내용을 이 객체에 복사합니다.
관련 비회원
[noexcept]
bool operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
프로세스 환경 객체 lhs 와 rhs 가 다른 경우 true
를 반환합니다.
operator==()도 참조하세요 .
[noexcept]
bool operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
프로세스 환경 개체 lhs 및 rhs 가 동일한 경우 true
를 반환합니다.
두 개의 QProcessEnvironment 객체가 동일한 키=값 쌍을 갖는 경우 동일한 것으로 간주됩니다. 환경이 대소문자를 구분하는 플랫폼에서는 키 비교가 대소문자를 구분하여 수행됩니다.
operator!=() 및 contains()도 참조하세요 .
© 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.