QProcessEnvironment Class
QProcessEnvironmentクラスは、プログラムに渡すことができる環境変数を保持します。詳細...
ヘッダー | #include <QProcessEnvironment> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバのリスト
- QProcessEnvironment はInput/Output and NetworkingandImplicitly Shared Classes に属しています。
このクラスは等価比較可能です。
注意:このクラスの関数はすべてリエントラントです。
パブリック型
(since 6.3) enum | Initialization { InheritFromParent } |
パブリック関数
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) |
静的パブリック・メンバ
QProcessEnvironment | systemEnvironment() |
関連する非メンバー
bool | operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
bool | operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs) |
詳細説明
プロセスの環境は、環境変数として知られる key=value のペアの集合で構成されます。QProcessEnvironment クラスはこの概念をラップし、これらの変数を簡単に操作できるようにします。このクラスは、子プロセスの環境を設定するためにQProcess と共に使用されます。現在のプロセスの環境を変更するために使用することはできません。
呼び出し元プロセスの環境は、QProcessEnvironment::systemEnvironment ()を使用して取得できる。
Unixシステムでは、変数名の大文字と小文字は区別される。Unix環境では、変数名と内容の両方に任意のバイナリ・データ(NUL文字を除く)を含めることができることに注意してください。QProcessEnvironment はそのような変数を保持しますが、現在のロケール設定でエンコードできない名前や値を持つ変数の操作はサポートしていません (QString::toLocal8Bit を参照)。
Windows では、変数名の大文字と小文字は区別されませんが、大文字と小文字は区別されます。QProcessEnvironment はそれに従って動作します。
QProcess 、QProcess::systemEnvironment()、QProcess::setProcessEnvironment()も参照してください 。
メンバ型ドキュメント
[since 6.3]
enum QProcessEnvironment::Initialization
この列挙型は、コンストラクタの曖昧さをなくすために使われるトークンを含んでいます。
定数 | 値 | 説明 |
---|---|---|
QProcessEnvironment::InheritFromParent | 0 | QProcess に設定すると、親から変数を継承するQProcessEnvironment が作成されます。 |
この列挙型は Qt 6.3 で導入されました。
メンバ関数の説明
QProcessEnvironment::QProcessEnvironment()
新しい QProcessEnvironment オブジェクトを作成します。このコンストラクタは空の環境を作成します。QProcess に設定すると、現在の環境変数が削除されます (Windows の PATH と SystemRoot を除く)。
[noexcept, since 6.3]
QProcessEnvironment::QProcessEnvironment(QProcessEnvironment::Initialization)
QProcess に設定すると、親プロセスから環境変数を継承して実行されるオブジェクトを作成する。
注意: 作成されたオブジェクトは、それ自体で環境変数を格納するわけではなく、QProcess に対して、新しいプロセスの開始時に環境を継承するように手配することを示すだけです。作成されたオブジェクトに環境変数を追加すると、環境の継承が無効になり、追加した環境変数のみを含む環境になります。
親プロセスの環境を変更したい場合は、systemEnvironment()
の戻り値から開始し、それを変更します(ただし、作成後に親プロセスの環境を変更しても、変更後の環境には反映されないことに注意してください)。
この関数は Qt 6.3 で導入されました。
inheritsFromParent() およびsystemEnvironment()も参照してください 。
QProcessEnvironment::QProcessEnvironment(const QProcessEnvironment &other)
other のコピーである QProcessEnvironment オブジェクトを作成します。
[noexcept]
QProcessEnvironment::~QProcessEnvironment()
このQProcessEnvironment オブジェクトに関連付けられているリソースを解放します。
void QProcessEnvironment::clear()
このQProcessEnvironment オブジェクトからすべての key=value ペアを削除し、空にする。
この環境がQProcessEnvironment::InheritFromParent
を使って構築されたものである場合、それは変更されません。
isEmpty() およびsystemEnvironment()も参照 。
bool QProcessEnvironment::contains(const QString &name) const
name という名前の環境変数がこのQProcessEnvironment オブジェクトで見つかった場合、true
を返す。
[since 6.3]
bool QProcessEnvironment::inheritsFromParent() const
このQProcessEnvironment がQProcessEnvironment::InheritFromParent
を使って構築された場合はtrue
を返す。
この関数は Qt 6.3 で導入されました。
isEmpty()も参照してください 。
void QProcessEnvironment::insert(const QString &name, const QString &value)
名前name 、内容value の環境変数をこのQProcessEnvironment オブジェクトに挿入する。その変数がすでに存在する場合は、新しい値で置き換えられる。
ほとんどのシステムでは、内容のない変数を挿入しても、アプリケーションにとっては、変数がまったく設定されていないのと同じ効果があります。しかし、非互換性がないことを保証するために、変数を削除するにはremove() 関数を使用してください。
contains(),remove(),value()も 参照のこと。
void QProcessEnvironment::insert(const QProcessEnvironment &e)
これはオーバーロードされた関数である。
QProcessEnvironment オブジェクトにe の内容を挿入します。e にも存在するこのオブジェクトの変数は上書きされます。
bool QProcessEnvironment::isEmpty() const
QProcessEnvironment オブジェクトが空の場合、true
を返す。
このメソッドは、QProcessEnvironment::InheritFromParent
を使用して構築されたオブジェクトについてもtrue
を返します。
clear()、systemEnvironment()、insert() およびinheritsFromParent()も参照 。
QStringList QProcessEnvironment::keys() const
このQProcessEnvironment オブジェクトのすべての変数名を含むリストを返す。
QProcessEnvironment::InheritFromParent
を使用して構築されたオブジェクトでは、返されるリストは空です。
void QProcessEnvironment::remove(const QString &name)
QProcessEnvironment オブジェクトからname で指定された環境変数を削除する。その変数が存在しない場合は、何も起こりません。
contains()、insert()、value()も参照 。
[noexcept]
void QProcessEnvironment::swap(QProcessEnvironment &other)
このプロセス環境インスタンスをother と交換する。この操作は非常に高速で、失敗することはない。
[static]
QProcessEnvironment QProcessEnvironment::systemEnvironment()
systemEnvironment関数は、呼び出し元のプロセスの環境を返す。
QProcessEnvironmentこの関数はシステム環境をキャッシュしない。したがって、setenv
やputenv
のような低レベルの C ライブラリ関数が呼び出された場合、環境の更新バージョンを取得することが可能です。
ただし、この関数を繰り返し呼び出すと、QProcessEnvironment オブジェクトが再作成され、これは自明な操作ではないことに注意。
QProcess::systemEnvironment()も参照のこと 。
QStringList QProcessEnvironment::toStringList() const
このQProcessEnvironment オブジェクトを、設定されている環境変数ごとに1つずつ、文字列のリストに変換します。環境変数の名前とその値は等号('=')で区切られる。
この関数が返す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()も参照のこと 。
QProcessEnvironment &QProcessEnvironment::operator=(const QProcessEnvironment &other)
other QProcessEnvironment オブジェクトの内容をこのオブジェクトにコピーする。
関連する非会員
[noexcept]
bool operator!=(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
プロセス環境オブジェクトlhs とrhs が異なる場合、true
を返す。
operator==()も参照のこと 。
[noexcept]
bool operator==(const QProcessEnvironment &lhs, const QProcessEnvironment &rhs)
プロセス環境オブジェクトlhs とrhs が等しければtrue
を返す。
2つのQProcessEnvironment オブジェクトは、key=value ペアのセットが同じであれば等しいとみなされます。キーの比較は、環境の大文字と小文字が区別されるプラットフォームでは、大文字と小文字が区別されます。
operator!=() およびcontains()も参照のこと 。
© 2025 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.