QProcessEnvironment Class
La clase QProcessEnvironment contiene las variables de entorno que se pueden pasar a un programa. Más...
| Cabecera: | #include <QProcessEnvironment> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QProcessEnvironment es parte de Input/Output y Networking and Implicitly Shared Classes.
Esta clase es igual-comparable.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos Públicos
(since 6.3) enum | Initialization { InheritFromParent } |
Funciones Públicas
| 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) |
Miembros públicos estáticos
| QProcessEnvironment | systemEnvironment() |
No miembros relacionados
| bool | operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
| bool | operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
Descripción Detallada
El entorno de un proceso está compuesto por un conjunto de pares clave=valor conocidos como variables de entorno. La clase QProcessEnvironment envuelve ese concepto y permite una fácil manipulación de esas variables. Está pensada para ser utilizada junto con QProcess, para establecer el entorno de los procesos hijos. No puede usarse para cambiar el entorno del proceso actual.
El entorno del proceso que llama puede obtenerse utilizando QProcessEnvironment::systemEnvironment().
En los sistemas Unix, los nombres de las variables distinguen entre mayúsculas y minúsculas. Tenga en cuenta que el entorno Unix permite que tanto los nombres como los contenidos de las variables contengan datos binarios arbitrarios (excepto el carácter NUL). QProcessEnvironment conservará dichas variables, pero no admite la manipulación de variables cuyos nombres o valores no puedan ser codificados por la configuración regional actual (consulte QString::toLocal8Bit).
En Windows, los nombres de las variables no distinguen entre mayúsculas y minúsculas, pero sí entre mayúsculas y minúsculas. QProcessEnvironment se comporta en consecuencia.
Ver también QProcess, QProcess::systemEnvironment(), y QProcess::setProcessEnvironment().
Documentación de tipos de miembros
[since 6.3] enum QProcessEnvironment::Initialization
Este enum contiene un token que se utiliza para desambiguar los constructores.
| Constante | Valor | Descripción |
|---|---|---|
QProcessEnvironment::InheritFromParent | 0 | Se creará un QProcessEnvironment que, cuando se establece en un QProcess, hace que herede variables de su padre. |
Este enum se introdujo en Qt 6.3.
Documentación de las funciones miembro
QProcessEnvironment::QProcessEnvironment()
Crea un nuevo objeto QProcessEnvironment. Este constructor crea un entorno vacío. Si se establece en un QProcess, esto hará que se eliminen las variables de entorno actuales (excepto PATH y SystemRoot en Windows).
[noexcept, since 6.3] QProcessEnvironment::QProcessEnvironment(QProcessEnvironment::Initialization)
Crea un objeto que cuando se establece en QProcess hará que se ejecute con las variables de entorno heredadas de su proceso padre.
Nota: El objeto creado no almacena ninguna variable de entorno por sí mismo, sólo indica a QProcess que disponga la herencia del entorno en el momento en que se inicie el nuevo proceso. Añadir cualquier variable de entorno al objeto creado desactivará la herencia del entorno y resultará en un entorno que contendrá sólo las variables de entorno añadidas.
Si se desea una versión modificada del entorno padre, comience con el valor de retorno de systemEnvironment() y modifíquelo (pero tenga en cuenta que los cambios en el entorno del proceso padre después de su creación no se reflejarán en el entorno modificado).
Esta función se introdujo en Qt 6.3.
Véase también inheritsFromParent() y systemEnvironment().
QProcessEnvironment::QProcessEnvironment(const QProcessEnvironment &other)
Crea un objeto QProcessEnvironment que es una copia de other.
[noexcept] QProcessEnvironment::~QProcessEnvironment()
Libera los recursos asociados a este objeto QProcessEnvironment.
void QProcessEnvironment::clear()
Elimina todos los pares clave=valor de este objeto QProcessEnvironment, dejándolo vacío.
Si el entorno se construyó con QProcessEnvironment::InheritFromParent, permanece inalterado.
Véase también isEmpty() y systemEnvironment().
bool QProcessEnvironment::contains(const QString &name) const
Devuelve true si la variable de entorno de nombre name se encuentra en este objeto QProcessEnvironment.
Véase también insert() y value().
[since 6.3] bool QProcessEnvironment::inheritsFromParent() const
Devuelve true si este QProcessEnvironment fue construido usando QProcessEnvironment::InheritFromParent.
Esta función se introdujo en Qt 6.3.
Véase también isEmpty().
void QProcessEnvironment::insert(const QString &name, const QString &value)
Inserta la variable de entorno de nombre name y contenido value en este objeto QProcessEnvironment. Si esa variable ya existía, se sustituye por el nuevo valor.
En la mayoría de los sistemas, insertar una variable sin contenido tendrá el mismo efecto para las aplicaciones que si la variable no se hubiera establecido en absoluto. Sin embargo, para garantizar que no haya incompatibilidades, para eliminar una variable, utilice la función remove().
Véase también contains(), remove() y value().
void QProcessEnvironment::insert(const QProcessEnvironment &e)
Inserta el contenido de e en este objeto QProcessEnvironment. Las variables de este objeto que también existan en e se sobrescribirán.
Se trata de una función sobrecargada.
bool QProcessEnvironment::isEmpty() const
Devuelve true si este objeto QProcessEnvironment está vacío: es decir, no hay pares clave=valor establecidos.
Este método también devuelve true para los objetos construidos con QProcessEnvironment::InheritFromParent.
Véase también clear(), systemEnvironment(), insert(), y inheritsFromParent().
QStringList QProcessEnvironment::keys() const
Devuelve una lista con todos los nombres de variables de este objeto QProcessEnvironment.
La lista devuelta está vacía para los objetos construidos con QProcessEnvironment::InheritFromParent.
void QProcessEnvironment::remove(const QString &name)
Elimina la variable de entorno identificada por name de este objeto QProcessEnvironment. Si esa variable no existía antes, no ocurre nada.
Véase también contains(), insert(), y value().
[noexcept] void QProcessEnvironment::swap(QProcessEnvironment &other)
Intercambia esta instancia de entorno de proceso con other. Esta operación es muy rápida y nunca falla.
[static] QProcessEnvironment QProcessEnvironment::systemEnvironment()
La función systemEnvironment devuelve el entorno del proceso de llamada.
Se devuelve como QProcessEnvironment. Esta función no almacena en caché el entorno del sistema. Por lo tanto, es posible obtener una versión actualizada del entorno si se ha llamado a funciones de biblioteca C de bajo nivel como setenv o putenv.
Sin embargo, tenga en cuenta que las llamadas repetidas a esta función volverán a crear el objeto QProcessEnvironment, que es una operación no trivial.
Véase también QProcess::systemEnvironment().
QStringList QProcessEnvironment::toStringList() const
Convierte este objeto QProcessEnvironment en una lista de cadenas, una por cada variable de entorno establecida. El nombre de la variable de entorno y su valor están separados por un carácter igual ('=').
El contenido de QStringList devuelto por esta función es adecuado para su presentación. No se recomienda su uso con la función QProcess::setEnvironment debido a posibles problemas de codificación bajo Unix, y peor rendimiento.
Ver también systemEnvironment(), QProcess::systemEnvironment(), y QProcess::setProcessEnvironment().
QString QProcessEnvironment::value(const QString &name, const QString &defaultValue = QString()) const
Busca en este objeto QProcessEnvironment una variable identificada por name y devuelve su valor. Si la variable no se encuentra en este objeto, entonces se devuelve defaultValue en su lugar.
Véase también contains(), insert() y remove().
QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &other)
Copia el contenido del objeto other QProcessEnvironment en éste.
Relacionados No miembros
[noexcept] bool operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
Devuelve true si los objetos de entorno de proceso lhs y rhs son diferentes.
Véase también operator==().
[noexcept] bool operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
Devuelve true si los objetos de entorno de proceso lhs y rhs son iguales.
Dos objetos QProcessEnvironment se consideran iguales si tienen el mismo conjunto de pares clave=valor. La comparación de claves se realiza distinguiendo entre mayúsculas y minúsculas en las plataformas en las que el entorno distingue entre mayúsculas y minúsculas.
Véase también operator!=() y contains().
© 2026 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.