Класс QProcessEnvironment
Класс QProcessEnvironment хранит переменные среды, которые могут быть переданы программе. Подробнее...
| Заголовок: | #include <QProcessEnvironment> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
Примечание: Все функции в этом классе являются реентерабельными.
Открытые функции
| QProcessEnvironment() | |
| QProcessEnvironment(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 |
| QProcessEnvironment & | operator=(QProcessEnvironment &&other) |
| QProcessEnvironment & | operator=(const QProcessEnvironment &other) |
| bool | operator==(const QProcessEnvironment &other) const |
Статические открытые члены
| QProcessEnvironment | systemEnvironment() |
Подробное описание
Класс QProcessEnvironment хранит переменные среды, которые могут быть переданы программе.
Среда процесса состоит из набора пар ключ=значение, известных как переменные среды. Класс QProcessEnvironment оборачивает эту концепцию и позволяет легко манипулировать этими переменными. Он предназначен для использования совместно с QProcess для установки среды для дочерних процессов. Он не может быть использован для изменения среды текущего процесса.
Среду вызывающего процесса можно получить с помощью QProcessEnvironment::systemEnvironment().
В системах Unix имена переменных чувствительны к регистру. Обратите внимание, что среда Unix позволяет использовать как имена переменных, так и содержимое, содержащие произвольные двоичные данные (кроме символа NUL). QProcessEnvironment будет сохранять такие переменные, но не поддерживает манипулирование переменными, имена или значения которых не могут быть закодированы текущими настройками локалей (см. QTextCodec::codecForLocale).
В Windows имена переменных нечувствительны к регистру, но сохраняют регистр. QProcessEnvironment ведет себя соответствующим образом.
См. также QProcess, QProcess::systemEnvironment() и QProcess::setProcessEnvironment().
Документация по функциям-членам
QProcessEnvironment::QProcessEnvironment()
Создаёт новый объект QProcessEnvironment. Этот конструктор создаёт пустую среду. Если он установлен в QProcess, это приведёт к удалению текущих переменных среды.
QProcessEnvironment::QProcessEnvironment(const QProcessEnvironment &other)
Создаёт объект QProcessEnvironment, который является копией other.
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.
[static] 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==().
QProcessEnvironment &QProcessEnvironment::operator=(QProcessEnvironment &&other)
Оператор перемещающего присваивания.
QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &other)
Копирует содержимое объекта other QProcessEnvironment в этот объект.
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/archives/qt-5.11/qprocessenvironment.html