Класс QProcessEnvironment
Класс QProcessEnvironment хранит переменные окружения, которые можно передать программе. Подробнее...
| Заголовок: | #include <QProcessEnvironment> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
Этот класс был представлен в Qt 4.6.
Примечание: Все функции в этом классе являются перевходными.
Открытые функции
| QProcessEnvironment(const QProcessEnvironment &other) | |
| QProcessEnvironment() | |
| QProcessEnvironment & | operator=(const QProcessEnvironment &other) |
| ~QProcessEnvironment() | |
| void | clear() |
| bool | contains(const QString &name) 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 |
| bool | operator!=(const QProcessEnvironment &other) const |
| bool | operator==(const QProcessEnvironment &other) const |
Статические открытые члены
| QProcessEnvironment | systemEnvironment() |
Подробное описание
Окружение процесса состоит из набора пар ключ=значение, известных как переменные окружения. Класс QProcessEnvironment оборачивает эту концепцию и позволяет легко манипулировать этими переменными. Он предназначен для использования вместе с QProcess для установки окружения для дочерних процессов. Его нельзя использовать для изменения окружения текущего процесса.
Окружение вызывающего процесса можно получить, используя QProcessEnvironment::systemEnvironment().
В системах Unix имена переменных чувствительны к регистру. Обратите внимание, что окружение Unix позволяет именам и содержимому переменных содержать произвольные двоичные данные (за исключением символа NUL). QProcessEnvironment сохранит такие переменные, но не поддерживает манипулирование переменными, имена или значения которых нельзя закодировать с помощью текущих настроек локальной кодировки (см. QTextCodec::codecForLocale).
В Windows имена переменных нечувствительны к регистру, но регистронезависимые. QProcessEnvironment ведет себя соответствующим образом.
См. также QProcess, QProcess::systemEnvironment() и QProcess::setProcessEnvironment().
Документация функций-членов
QProcessEnvironment::QProcessEnvironment(const QProcessEnvironment &other)
Создает объект QProcessEnvironment, который является копией other.
QProcessEnvironment::QProcessEnvironment()
Создает новый объект QProcessEnvironment. Этот конструктор создает пустое окружение. Если установить на QProcess, это приведет к удалению текущих переменных окружения.
QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &other)
Копирует содержимое объекта other QProcessEnvironment в этот.
QProcessEnvironment::~QProcessEnvironment()
Освобождает ресурсы, связанные с этим объектом QProcessEnvironment.
void QProcessEnvironment::clear()
Удаляет все пары ключ=значение из этого объекта QProcessEnvironment, делая его пустым.
См. также isEmpty() и systemEnvironment().
bool QProcessEnvironment::contains(const QString &name) const
Возвращает true , если переменная окружения с именем name найдена в этом объекте QProcessEnvironment.
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, будут перезаписаны.
Эта функция была представлена в Qt 4.8.
bool QProcessEnvironment::isEmpty() const
Возвращает true , если этот объект QProcessEnvironment пуст: то есть нет пар ключ=значение.
См. также clear(), systemEnvironment() и insert().
QStringList QProcessEnvironment::keys() const
Возвращает список, содержащий все имена переменных в этом объекте QProcessEnvironment.
Эта функция была представлена в Qt 4.8.
void QProcessEnvironment::remove(const QString &name)
Удаляет переменную окружения, идентифицированную по name, из этого объекта QProcessEnvironment. Если такая переменная не существовала ранее, ничего не происходит.
См. также contains(), insert() и value().
void QProcessEnvironment::swap(QProcessEnvironment &other)
Меняет местами этот экземпляр среды процесса с other. Эта функция очень быстрая и никогда не терпит неудачу.
Эта функция была представлена в Qt 5.0.
QProcessEnvironment QProcessEnvironment::systemEnvironment()
Функция systemEnvironment возвращает окружение вызывающего процесса.
Возвращается в виде QProcessEnvironment. Данная функция не кэширует системную среду. Поэтому можно получить обновленную версию среды, если были вызваны низкоуровневые функции C-библиотеки, такие как setenv или putenv.
Однако обратите внимание, что повторные вызовы этой функции будут создавать объект QProcessEnvironment, что является нетривиальной операцией.
Данная функция была добавлена в Qt 4.6.
См. также QProcess::systemEnvironment().
QStringList QProcessEnvironment::toStringList() const
Преобразует этот объект QProcessEnvironment в список строк, по одной для каждой переменной среды, которая установлена. Имя переменной среды и её значение разделены знаком равенства ('=').
Содержание QStringList, возвращаемое этой функцией, подходит для отображения. Использование с функцией QProcess::setEnvironment не рекомендуется из-за потенциальных проблем с кодировкой под Unix и более низкой производительности.
См. также systemEnvironment(), QProcess::systemEnvironment() и QProcess::setProcessEnvironment().
QString QProcessEnvironment::value(const QString &name, const QString &defaultValue = QString()) const
Ищет в этом объекте QProcessEnvironment переменную с именем name и возвращает её значение. Если переменная не найдена, возвращается defaultValue.
См. также contains(), insert() и remove().
bool QProcessEnvironment::operator!=(const QProcessEnvironment &other) const
Возвращает true, если этот и объект other QProcessEnvironment различны.
См. также operator==().
bool QProcessEnvironment::operator==(const QProcessEnvironment &other) const
Возвращает true, если этот и объект other QProcessEnvironment равны.
Два объекта QProcessEnvironment считаются равными, если они имеют одинаковый набор пар ключ=значение. Сравнение ключей выполняется чувствительно к регистру на платформах, где среда чувствительна к регистру.
См. также operator!=() и contains().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qprocessenvironment.html