QProcessEnvironment 类

The QProcessEnvironment 类保持可以被传递给程序的环境变量。 更多...

头: #include <QProcessEnvironment>
Since: 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 )
QStringList toStringList () const
QString value (const QString & name , const QString & defaultValue = QString()) const
bool operator!= (const QProcessEnvironment & other ) const
QProcessEnvironment & operator= (const QProcessEnvironment & other )
bool operator== (const QProcessEnvironment & other ) const

静态公共成员

QProcessEnvironment systemEnvironment ()

详细描述

The QProcessEnvironment 类保持可以被传递给程序的环境变量。

A process's environment is composed of a set of key=value pairs known as environment variables. The QProcessEnvironment class wraps that concept and allows easy manipulation of those variables. It's meant to be used along with QProcess , to set the environment for child processes. It cannot be used to change the current process's environment.

The environment of the calling process can be obtained using QProcessEnvironment::systemEnvironment ().

On Unix systems, the variable names are case-sensitive. For that reason, this class will not touch the names of the variables. Note as well that Unix environment allows both variable names and contents to contain arbitrary binary data (except for the NUL character), but this is not supported by QProcessEnvironment . This class only supports names and values that are encodable by the current locale settings (see QTextCodec::codecForLocale ).

On Windows, the variable names are case-insensitive. Therefore, QProcessEnvironment will always uppercase the names and do case-insensitive comparisons.

On Windows CE, the concept of environment does not exist. This class will keep the values set for compatibility with other platforms, but the values set will have no effect on the processes being created.

另请参阅 QProcess , QProcess::systemEnvironment (),和 QProcess::setProcessEnvironment ().

成员函数文档编制

QProcessEnvironment:: QProcessEnvironment ()

创建新的 QProcessEnvironment object. This constructor creates an empty environment. If set on a QProcess , this will cause the current environment variables to be removed.

QProcessEnvironment:: QProcessEnvironment (const QProcessEnvironment & other )

创建 QProcessEnvironment object that is a copy of other .

QProcessEnvironment:: ~QProcessEnvironment ()

Frees the resources associated with this QProcessEnvironment 对象。

void QProcessEnvironment:: clear ()

Removes all key=value pairs from this QProcessEnvironment object, making it empty.

另请参阅 isEmpty () 和 systemEnvironment ().

bool QProcessEnvironment:: contains (const QString & name ) const

Returns true if the environment variable of name name 被找到在此 QProcessEnvironment 对象。

On Windows, variable names are case-insensitive, so the key is converted to uppercase before searching. On other systems, names are case-sensitive so no trasformation is applied.

另请参阅 insert () 和 value ().

void QProcessEnvironment:: insert (const QString & name , const QString & value )

插入环境变量按名称 name 和内容 value 到此 QProcessEnvironment 对象。若变量已经存在,以新值替换它。

On Windows, variable names are case-insensitive, so this function always uppercases the variable name before inserting. On other systems, names are case-sensitive, so no transformation is applied.

在大多数系统,插入没有内容的变量对应用程序与根本没有设置变量的效果相同。不管怎样,为保证不存在不兼容,要移除变量请使用 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 对象。若变量之前不存在,什么都不发生。

On Windows, variable names are case-insensitive, so the key is converted to uppercase before searching. On other systems, names are case-sensitive so no trasformation is applied.

另请参阅 contains (), insert (),和 value ().

[static] QProcessEnvironment QProcessEnvironment:: systemEnvironment ()

The systemEnvironment function returns the environment of the calling process.

它被返回作为 QProcessEnvironment . This function does not cache the system environment. Therefore, it's possible to obtain an updated version of the environment if low-level C library functions like setenv ot putenv 有被调用。

However, note that repeated calls to this function will recreate the QProcessEnvironment object, which is a non-trivial operation.

该函数在 Qt 4.6 引入。

另请参阅 QProcess::systemEnvironment ().

QStringList QProcessEnvironment:: toStringList () const

转换此 QProcessEnvironment object into a list of strings, one for each environment variable that is set. The environment variable's name and its value are separated by an equal character ('=').

The QStringList contents returned by this function are suitable for use with the QProcess::setEnvironment function. However, it is recommended to use QProcess::setProcessEnvironment instead since that will avoid unnecessary copying of the data.

另请参阅 systemEnvironment (), QProcess::systemEnvironment (), QProcess::environment (),和 QProcess::setEnvironment ().

QString QProcessEnvironment:: value (const QString & name , const QString & defaultValue = QString()) const

搜索此 QProcessEnvironment object for a variable identified by name and returns its value. If the variable is not found in this object, then defaultValue 被返回取而代之。

On Windows, variable names are case-insensitive, so the key is converted to uppercase before searching. On other systems, names are case-sensitive so no trasformation is applied.

另请参阅 contains (), insert (),和 remove ().

bool QProcessEnvironment:: operator!= (const QProcessEnvironment & other ) const

Returns true if this and the other QProcessEnvironment 对象不同。

另请参阅 operator== ().

QProcessEnvironment & QProcessEnvironment:: operator= (const QProcessEnvironment & other )

拷贝内容从 other QProcessEnvironment 对象到此对象。

bool QProcessEnvironment:: operator== (const QProcessEnvironment & other ) const

Returns true if this and the other QProcessEnvironment 对象相等。

Two QProcessEnvironment objects are considered equal if they have the same set of key=value pairs. The comparison of keys is done case-sensitive on platforms where the environment is case-sensitive.

另请参阅 operator!= () 和 contains ().