QProcessEnvironment Class
La classe QProcessEnvironment contient les variables d'environnement qui peuvent être transmises à un programme. Plus d'informations...
| En-tête : | #include <QProcessEnvironment> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QProcessEnvironment fait partie de Input/Output et Networking et de Implicitly Shared Classes.
Cette classe est comparable à l'égalité.
Note : Toutes les fonctions de cette classe sont réentrantes.
Types publics
(since 6.3) enum | Initialization { InheritFromParent } |
Fonctions publiques
| 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) |
Membres publics statiques
| QProcessEnvironment | systemEnvironment() |
Non-membres apparentés
| bool | operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
| bool | operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
Description détaillée
L'environnement d'un processus est composé d'un ensemble de paires clé=valeur appelées variables d'environnement. La classe QProcessEnvironment englobe ce concept et permet de manipuler facilement ces variables. Elle est destinée à être utilisée avec QProcess, pour définir l'environnement des processus enfants. Elle ne peut pas être utilisée pour modifier l'environnement du processus en cours.
L'environnement du processus appelant peut être obtenu en utilisant QProcessEnvironment::systemEnvironment().
Sur les systèmes Unix, les noms de variables sont sensibles à la casse. Notez que l'environnement Unix permet aux noms de variables et à leur contenu de contenir des données binaires arbitraires (à l'exception du caractère NUL). QProcessEnvironment préservera de telles variables, mais ne permet pas de manipuler des variables dont les noms ou les valeurs ne peuvent pas être encodés par les paramètres linguistiques actuels (voir QString::toLocal8Bit).
Sous Windows, les noms de variables sont insensibles à la casse, mais préservent la casse. QProcessEnvironment se comporte en conséquence.
Voir aussi QProcess, QProcess::systemEnvironment(), et QProcess::setProcessEnvironment().
Documentation sur les types de membres
[since 6.3] enum QProcessEnvironment::Initialization
Cette énumération contient un jeton utilisé pour désambiguïser les constructeurs.
| Constante | Valeur | Description |
|---|---|---|
QProcessEnvironment::InheritFromParent | 0 | Un QProcessEnvironment sera créé qui, lorsqu'il est défini sur un QProcess, lui permet d'hériter des variables de son parent. |
Cette liste a été introduite dans Qt 6.3.
Documentation sur les fonctions membres
QProcessEnvironment::QProcessEnvironment()
Crée un nouvel objet QProcessEnvironment. Ce constructeur crée un environnement vide. S'il est défini sur QProcess, les variables d'environnement actuelles seront supprimées (à l'exception de PATH et SystemRoot sous Windows).
[noexcept, since 6.3] QProcessEnvironment::QProcessEnvironment(QProcessEnvironment::Initialization)
Crée un objet qui, lorsqu'il est défini sur QProcess, sera exécuté avec les variables d'environnement héritées de son processus parent.
Remarque : l'objet créé ne stocke aucune variable d'environnement en soi, il indique simplement à QProcess de prendre des dispositions pour hériter de l'environnement au moment où le nouveau processus est lancé. L'ajout de variables d'environnement à l'objet créé désactivera l'héritage de l'environnement et produira un environnement contenant uniquement les variables d'environnement ajoutées.
Si une version modifiée de l'environnement parent est souhaitée, commencez par la valeur de retour de systemEnvironment() et modifiez-la (mais notez que les changements apportés à l'environnement du processus parent après sa création ne seront pas reflétés dans l'environnement modifié).
Cette fonction a été introduite dans Qt 6.3.
Voir aussi inheritsFromParent() et systemEnvironment().
QProcessEnvironment::QProcessEnvironment(const QProcessEnvironment &other)
Crée un objet QProcessEnvironment qui est une copie de other.
[noexcept] QProcessEnvironment::~QProcessEnvironment()
Libère les ressources associées à cet objet QProcessEnvironment.
void QProcessEnvironment::clear()
Supprime toutes les paires clé=valeur de cet objet QProcessEnvironment, le rendant ainsi vide.
Si l'environnement a été construit à l'aide de QProcessEnvironment::InheritFromParent, il reste inchangé.
Voir aussi isEmpty() et systemEnvironment().
bool QProcessEnvironment::contains(const QString &name) const
Renvoie true si la variable d'environnement de nom name se trouve dans cet objet QProcessEnvironment.
Voir aussi insert() et value().
[since 6.3] bool QProcessEnvironment::inheritsFromParent() const
Renvoie true si ce QProcessEnvironment a été construit à l'aide de QProcessEnvironment::InheritFromParent.
Cette fonction a été introduite dans Qt 6.3.
Voir aussi isEmpty().
void QProcessEnvironment::insert(const QString &name, const QString &value)
Insère la variable d'environnement de nom name et de contenu value dans cet objet QProcessEnvironment. Si cette variable existait déjà, elle est remplacée par la nouvelle valeur.
Sur la plupart des systèmes, l'insertion d'une variable sans contenu aura le même effet sur les applications que si la variable n'avait pas été définie du tout. Toutefois, pour garantir l'absence d'incompatibilités, il convient d'utiliser la fonction remove() pour supprimer une variable.
Voir aussi contains(), remove() et value().
void QProcessEnvironment::insert(const QProcessEnvironment &e)
Insère le contenu de e dans l'objet QProcessEnvironment. Les variables de cet objet qui existent également dans e seront écrasées.
Il s'agit d'une fonction surchargée.
bool QProcessEnvironment::isEmpty() const
Renvoie true si l'objet QProcessEnvironment est vide, c'est-à-dire s'il n'y a pas de paires clé/valeur définies.
Cette méthode renvoie également true pour les objets qui ont été construits à l'aide de QProcessEnvironment::InheritFromParent.
Voir aussi clear(), systemEnvironment(), insert() et inheritsFromParent().
QStringList QProcessEnvironment::keys() const
Renvoie une liste contenant tous les noms de variables de cet objet QProcessEnvironment.
La liste retournée est vide pour les objets construits à l'aide de QProcessEnvironment::InheritFromParent.
void QProcessEnvironment::remove(const QString &name)
Supprime la variable d'environnement identifiée par name de cet objet QProcessEnvironment. Si cette variable n'existait pas auparavant, il ne se passe rien.
Voir aussi contains(), insert() et value().
[noexcept] void QProcessEnvironment::swap(QProcessEnvironment &other)
Remplace cette instance d'environnement de processus par other. Cette opération est très rapide et n'échoue jamais.
[static] QProcessEnvironment QProcessEnvironment::systemEnvironment()
La fonction systemEnvironment renvoie l'environnement du processus appelant.
Elle est renvoyée sous la forme d'un fichier QProcessEnvironment. Cette fonction ne met pas en cache l'environnement du système. Il est donc possible d'obtenir une version actualisée de l'environnement si des fonctions de bas niveau de la bibliothèque C telles que setenv ou putenv ont été appelées.
Notez toutefois que des appels répétés à cette fonction recréeront l'objet QProcessEnvironment, ce qui est une opération non triviale.
Voir aussi QProcess::systemEnvironment().
QStringList QProcessEnvironment::toStringList() const
Convertit cet objet QProcessEnvironment en une liste de chaînes de caractères, une pour chaque variable d'environnement définie. Le nom de la variable d'environnement et sa valeur sont séparés par un caractère égal ('=').
Le contenu de QStringList renvoyé par cette fonction peut être présenté. L'utilisation de la fonction QProcess::setEnvironment n'est pas recommandée en raison de problèmes potentiels d'encodage sous Unix et de performances moindres.
Voir aussi systemEnvironment(), QProcess::systemEnvironment() et QProcess::setProcessEnvironment().
QString QProcessEnvironment::value(const QString &name, const QString &defaultValue = QString()) const
Recherche dans cet objet QProcessEnvironment une variable identifiée par name et renvoie sa valeur. Si la variable n'est pas trouvée dans cet objet, defaultValue est renvoyé à la place.
Voir aussi contains(), insert() et remove().
QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &other)
Copie le contenu de l'objet other QProcessEnvironment dans celui-ci.
Non-membres apparentés
[noexcept] bool operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
Renvoie true si les objets de l'environnement du processus lhs et rhs sont différents.
Voir aussi operator==().
[noexcept] bool operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
Renvoie true si les objets de l'environnement du processus lhs et rhs sont égaux.
Deux objets QProcessEnvironment sont considérés comme égaux s'ils possèdent le même ensemble de paires clé-valeur. La comparaison des clés est effectuée en tenant compte de la casse sur les plates-formes où l'environnement est sensible à la casse.
Voir également operator!=() et 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.