PySide6.QtQml.QJSPrimitiveValue¶
- class QJSPrimitiveValue¶
QJSPrimitiveValue类在 JavaScript 语义中操作原始类型。更多…概要¶
方法¶
def
__init__()def
constData()def
data()def
equals()def
metaType()def
__ne__()def
__mod__()def
__mul__()def
__add__()def
__iadd__()def
__sub__()def
__isub__()def
__div__()def
__lt__()def
__le__()def
__eq__()def
__gt__()def
__ge__()def
strictlyEquals()def
toBoolean()def
toDouble()def
toInteger()def
toString()def
toVariant()def
type()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QJSPrimitiveValue支持 ECMA-262 标准中定义的大多数原始类型,特别是 Undefined、Boolean、Number 和 String。此外,您可以在QJSPrimitiveValue中存储 JavaScript 的 null,并且作为 Number 的特殊情况,您还可以存储整数值。所有这些值都会立即存储,而不与JavaScript堆进行交互。因此,您可以在不同的JavaScript引擎之间传递QJSPrimitiveValues。与
QJSManagedValue相比,从不同线程销毁QJSPrimitiveValue也没有危险。另一方面,QJSPrimitiveValue并不持有对任何JavaScript引擎的引用。QJSPrimitiveValue在支持的JavaScript语义类型上实现了JavaScript的算术和比较运算符。如果这些运算符写在JavaScript表达式中,类型会被强制转换,就像JavaScript引擎会做的那样。JavaScript Symbol 类型不受支持,因为它在算术和比较运算符方面的实用性非常有限,这是
QJSPrimitiveValue的主要目的。特别是,每当您尝试将其强制转换为数字或字符串时,它都会引发异常,而我们无法在没有 JavaScript 引擎的情况下抛出异常。- class Type¶
此枚举指定了
QJSPrimitiveValue可能包含的类型。常量
描述
QJSPrimitiveValue.Undefined
JavaScript 的未定义值。
QJSPrimitiveValue.Null
JavaScript 的 null 值。实际上,这并不是一个独立的 JavaScript 类型,而是 Object 类型的一个特殊值。由于它非常常见并且可以在没有 JavaScript 引擎的情况下存储,因此仍然支持它。
QJSPrimitiveValue.Boolean
一个JavaScript布尔值。
QJSPrimitiveValue.Integer
一个整数。这是 JavaScript Number 类型的一个特殊情况。JavaScript 没有实际的整数类型,但 ECMA-262 标准包含了一些规则,用于转换 Number 以便为某些仅对整数有意义的操作符(特别是位移操作符)做准备。
QJSPrimitiveValue的 Integer 类型表示这种转换的结果。QJSPrimitiveValue.Double
一个JavaScript数值。
QJSPrimitiveValue.String
一个JavaScript字符串值。
- __init__()¶
创建一个类型为Undefined的
QJSPrimitiveValue。- __init__(type)
- Parameters:
类型 –
QMetaType
- __init__(string)
- Parameters:
字符串 – str
创建一个值为
value且类型为 String 的QJSPrimitiveValue。- __init__(value)
- Parameters:
value – 布尔值
创建一个值为
value且类型为 Boolean 的QJSPrimitiveValue。- __init__(variant)
- Parameters:
variant – 对象
如果
value的内容可以存储在QJSPrimtiveValue中,则从value的内容创建一个QJSPrimitiveValue。否则,这将导致一个类型为Undefined的QJSPrimitiveValue。- __init__(value)
- Parameters:
value – 浮点数
创建一个值为
value且类型为 Double 的QJSPrimitiveValue。- __init__(value)
- Parameters:
值 – int
创建一个值为
value且类型为 Integer 的QJSPrimitiveValue。- __init__(type, value)
- Parameters:
type –
QMetaTypevalue –
void
创建一个类型为
type的QJSPrimitiveValue,如果type可以存储在QJSPrimitiveValue中,则用value初始化。在这种情况下,value不能为nullptr。如果type无法存储,则结果为类型为Undefined的QJSPrimitiveValue。请注意,您必须传递要存储的变量的地址。
通常,你不需要使用这个构造函数,而是使用接受 QVariant 的那个。
- constData()¶
- Return type:
void
- data()¶
- Return type:
void
- equals(other)¶
- Parameters:
其他 –
QJSPrimitiveValue- Return type:
布尔
在此
QJSPrimitiveValue和other上执行JavaScript的‘==’操作,并返回结果。返回存储在
QJSPrimitiveValue中的值的QMetaType。- __ne__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
布尔
在
lhs和rhs上执行 JavaScript 的 ‘!==’ 操作,并返回结果。- __mod__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
- __mul__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
对
lhs和rhs执行 JavaScript 的 '*' 操作,并返回结果。- __add__()¶
- Return type:
- __add__(rhs)
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
对
lhs和rhs执行 JavaScript 的 '+' 操作,并返回结果。- __iadd__()¶
- Return type:
- __iadd__(arg__1)
- Parameters:
arg__1 – 整数
- Return type:
- __sub__()¶
- Return type:
- __sub__(rhs)
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
对
lhs和rhs执行 JavaScript 的 '-' 操作,并返回结果。- __isub__()¶
- Return type:
- __isub__(arg__1)
- Parameters:
arg__1 – 整数
- Return type:
- __div__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
在
lhs和rhs之间执行JavaScript的‘/’操作,并返回结果。- __lt__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
布尔
对
lhs和rhs执行 JavaScript 的 ‘<’ 操作,并返回结果。- __le__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
布尔
在
lhs和rhs上执行 JavaScript 的 ‘<=’ 操作,并返回结果。- __eq__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
布尔
对
lhs和rhs执行 JavaScript 的 ‘===’ 操作,并返回结果。- __gt__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
布尔
在
lhs和rhs上执行 JavaScript 的 ‘>’ 操作,并返回结果。- __ge__(rhs)¶
- Parameters:
rhs –
QJSPrimitiveValue- Return type:
布尔
在
lhs和rhs上执行 JavaScript 的 ‘>=’ 操作,并返回结果。- strictlyEquals(other)¶
- Parameters:
其他 –
QJSPrimitiveValue- Return type:
布尔
在此
QJSPrimitiveValue和other上执行JavaScript的‘===’操作,并返回结果。- toBoolean()¶
- Return type:
布尔
返回根据JavaScript规则强制转换为布尔值的值。
- toDouble()¶
- Return type:
浮点数
返回根据JavaScript规则强制转换为JavaScript Number的值。
- toInteger()¶
- Return type:
整数
返回根据JavaScript在准备进行位移操作时应用的规则强制转换为32位整数的值。
- toString()¶
- Return type:
字符串
返回根据JavaScript规则强制转换为JavaScript字符串的值。
- toVariant()¶
- Return type:
对象
返回
QJSPrimitiveValue的类型。