- class QProcessEnvironment#
QProcessEnvironment
类保存可以传递给程序的环...新添于版本4.6。
概述#
方法#
静态函数#
说明
本文档可能包含自动从C++翻译为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来通知我们。
详细描述#
进程的环境由一组名为环境变量的键=value对组成。
QProcessEnvironment
类封装了这个概念,并允许轻松操作这些变量。它旨在与QProcess
一起使用,为子进程设置环境。它不能用于更改当前进程的环境。可以使用
systemEnvironment()
获取调用进程的环境。在Unix系统中,变量名是区分大小写的。请注意,Unix环境允许变量名和内容包含任意二进制数据(除了NUL字符)。
QProcessEnvironment
将保留这样的变量,但不支持操作无法由当前区域设置编码的变量名或值(请参阅toLocal8Bit
)。在Windows上,变量名不区分大小写,但保留大小写。
QProcessEnvironment
的行为与此一致。- class Initialization#
此枚举包含用于区分构造函数的令牌。
常量
描述
QProcessEnvironment.InheritFromParent
将创建一个
QProcessEnvironment
对象,当将之设置为QProcess
时,它会从父进程继承变量。新自版本 6.3。
- __init__(arg__1)#
- 参数::
arg__1 –
Initialization
创建一个对象,当设置到
QProcess
上时,将在启动新进程时从父进程继承环境变量执行。说明
创建的对象不会存储任何环境变量,它只指示
QProcess
在新进程启动时安排继承环境。将任何环境变量添加到创建的对象中将禁用环境继承,并将导致只包含添加的环境变量的环境。如果要修改父环境的版本,请从
systemEnvironment()
的返回值开始并修改它(但请注意,在创建之后对父进程环境的修改将不会反映在修改后的环境中)。- __init__(other)
- 参数::
other –
QProcessEnvironment
创建一个
QProcessEnvironment
对象,它是other
的副本。- __init__()
创建一个新的
QProcessEnvironment
对象。这个构造函数创建一个空的环境。如果设置到QProcess
上,这将导致移除当前的变量(除了 Windows 上的 PATH 和 SystemRoot)。- clear()#
从这个
QProcessEnvironment
对象中移除所有键值对,使它为空。如果环境使用
QProcessEnvironment::InheritFromParent
构造,它保持不变。- contains(name)#
- 参数::
name - 字符串
- 返回类型
布尔型
如果在这个
QProcessEnvironment
对象中找到名为name
的环境变量,则返回true
。- inheritsFromParent()#
- 返回类型
布尔型
如果此
QProcessEnvironment
使用QProcessEnvironment::InheritFromParent
构建,则返回true
。另请参阅
- insert(e)#
- 参数::
这是一个重载函数。
将
e
的内容插入到这个QProcessEnvironment
对象中。在此对象中已存在的变量如果也在e
中,则会被覆盖。- insert(name, value)
- 参数::
name - 字符串
value - 字符串
将名为
name
并包含内容value
的环境变量插入到这个QProcessEnvironment
对象中。如果该变量已存在,则被新值替换。在大多数系统中,插入一个没有内容的变量将使应用程序的效果与根本未设置该变量相同。但是,为了确保没有不兼容性,请使用
remove()
函数来删除变量。另请参阅
- isEmpty()#
- 返回类型
布尔型
如果此
QProcessEnvironment
对象为空(即没有设置 key=value 对)则返回true
。该方法也会对使用
QProcessEnvironment::InheritFromParent
构造的对象返回true
。- keys()#
- 返回类型
字符串列表
返回此
QProcessEnvironment
对象中所有变量名的列表。使用
QProcessEnvironment::InheritFromParent
构造的对象返回的列表为空。- __ne__(other)#
- 参数::
other –
QProcessEnvironment
- 返回类型
布尔型
如果此和
other
QProcessEnvironment
对象不同,则返回true
。另请参阅
operator==()
- __eq__(other)#
- 参数::
other –
QProcessEnvironment
- 返回类型
布尔型
如果此和
other
QProcessEnvironment
对象相等,则返回true
。如果两个
QProcessEnvironment
对象具有相同的 key=value 对集合,则认为它们相等。关键字比较是在那些区分大小写的平台上区分大小写的。另请参阅
operator!=()
contains()
- remove(name)#
- 参数::
name - 字符串
从本
QProcessEnvironment
对象中删除由name
标识的环境变量。如果该变量之前不存在,则不执行任何操作。另请参阅
- swap(other)#
- 参数::
other –
QProcessEnvironment
将此进程环境实例与
other
交换。该函数执行速度快,且不会失败。- 静态 systemEnvironment()#
- 返回类型
systemEnvironment 函数返回调用进程的环境。
它被作为
QProcessEnvironment
返回。此函数不缓存系统环境。因此,如果已调用诸如setenv
或putenv
的低级 C 库函数,则可以获取环境的更新版本。但是,请注意,重复调用此函数将重新创建
QProcessEnvironment
对象,这是一项非平凡的操作。另请参阅
- toStringList()#
- 返回类型
字符串列表
将此
QProcessEnvironment
对象转换为字符串列表,每个环境变量一个字符串。环境变量的名称和其值由等号(=)分隔。此函数返回的
QStringList
内容适合于展示。由于在 Unix 下的潜在编码问题和更差的性能,不推荐与 QProcess::setEnvironment 函数一起使用。- value(name[, defaultValue=""])#
- 参数::
name - 字符串
defaultValue – str
- 返回类型
str
搜索此
QProcessEnvironment
对象中由name
标识的变量,并返回其值。如果在此对象中未找到该变量,则返回defaultValue
。另请参阅