Класс 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.13/qprocessenvironment.html