class QJSPrimitiveValue#

QJSPrimitiveValue 在JavaScript语义上操作原始类型。更多...

摘要#

方法#

注意

本文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对此代码片段翻译的贡献。如果您发现翻译问题,可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单来告诉我们。

详细描述#

QJSPrimitiveValue 支持在ECMA-262标准中定义的大部分原始类型,特别是未定义、布尔型、数字型和字符串型。此外,您可以将JavaScript的null存储在 QJSPrimitiveValue 中,作为一个特殊的数字情况,您可以存储整数值。

所有这些值都是立即存储的,不与JavaScript堆交互。因此,您可以在不同的JavaScript引擎之间传递QJSPrimitiveValues。与 QJSManagedValue 相比,从创建它的不同线程中销毁 QJSPrimitiveValue 也没有危险。另一方面, QJSPrimitiveValue 也不持有对任何JavaScript引擎的引用。

QJSPrimitiveValue 在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 的整数类型代表这种转换的结果。

QJSPrimitiveValue.Double

JavaScript的Number值。

QJSPrimitiveValue.String

JavaScript的字符串值。

__init__(type)#
参数:

类型QMetaType

__init__()

创建一个类型为 Undefined 的 QJSPrimitiveValue

__init__(value)
参数:

value – int

创建一个值为 value 并且类型为 Integer 的 QJSPrimitiveValue

__init__(value)
参数:

value – float

创建一个值为 value 并且类型为 Double 的 QJSPrimitiveValue

__init__(variant)
参数:

variant – object

如果 value 中的内容可以存储在 QJSPrimtiveValue 中,则创建一个从 value 的内容生成的 QJSPrimitiveValue。否则,这将生成一个类型为 Undefined 的 QJSPrimitiveValue

__init__(type, value)
参数:

创建一个类型为 typeQJSPrimitiveValue,并在 type 可以存储在 QJSPrimtiveValue 中时使用 value 初始化。在这种情况下,value 不能为 nullptr。如果 type 不能存储,这会生成一个类型为 Undefined 的 QJSPrimitiveValue

请注意,您必须传入您要存储的变量的地址。

通常,您不必使用此构造函数,可以使用接受 QVariant 的构造函数。

__init__(value)
参数:

value – bool

创建一个值为 value 并且类型为 Boolean 的 QJSPrimitiveValue

__init__(string)
参数:

string – str

创建一个值为 value 并且类型为 String 的 QJSPrimitiveValue

constData()#
返回类型::

void

data()#
返回类型::

void

equals(other)#
参数:

其他 – QJSPrimitiveValue

返回类型::

bool

对当前 QJSPrimitiveValueother 执行 JavaScript 的 ‘==’ 操作,并返回结果。

metaType()#
返回类型::

QMetaType

返回存储在 QJSPrimitiveValue 中的值的 QMetaType。

__ne__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

bool

lhsrhs 执行 JavaScript 的 ‘!==’ 操作,并返回结果。

__mod__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

QJSPrimitiveValue

__mul__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

QJSPrimitiveValue

lhsrhs 执行 JavaScript 的 ‘*’ 操作,并返回结果。

__add__()#
返回类型::

QJSPrimitiveValue

__add__(rhs)
参数:

右侧 – QJSPrimitiveValue

返回类型::

QJSPrimitiveValue

lhsrhs 执行 JavaScript 的 ‘+’ 操作,并返回结果。

__iadd__(arg__1)#
参数:

arg__1 – int

返回类型::

QJSPrimitiveValue

__iadd__()
返回类型::

QJSPrimitiveValue

__sub__()#
返回类型::

QJSPrimitiveValue

__sub__(rhs)
参数:

右侧 – QJSPrimitiveValue

返回类型::

QJSPrimitiveValue

lhsrhs 执行 JavaScript 的 ‘-’ 操作,并返回结果。

__isub__()#
返回类型::

QJSPrimitiveValue

__isub__(arg__1)
参数:

arg__1 – int

返回类型::

QJSPrimitiveValue

__div__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

QJSPrimitiveValue

执行JavaScript中的‘/’操作符,在lhsrhs之间,并返回结果。

__lt__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

bool

lhsrhs上执行JavaScript的‘<’操作符,并返回结果。

__le__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

bool

lhsrhs上执行JavaScript的‘<=’操作符,并返回结果。

__eq__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

bool

lhsrhs上执行JavaScript的‘===’操作符,并返回结果。

__gt__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

bool

lhsrhs上执行JavaScript的‘>’操作符,并返回结果。

__ge__(rhs)#
参数:

右侧 – QJSPrimitiveValue

返回类型::

bool

lhsrhs上执行JavaScript的‘>=’操作符,并返回结果。

strictlyEquals(other)#
参数:

其他 – QJSPrimitiveValue

返回类型::

bool

对此PySide6.QtQml.QJSPrimitiveValueother执行JavaScript的‘===’操作符,并返回结果。

toBoolean()#
返回类型::

bool

返回根据JavaScript规则强制转换后的布尔值。

toDouble()#
返回类型::

浮点数

根据JavaScript规则强制转换为JavaScript Number。

toInteger()#
返回类型::

整数

根据JavaScript的规则强制转换为32位整数。

toString()#
返回类型::

str

按照JavaScript规则强制转换值后的JavaScript字符串。

toVariant()#
返回类型::

object

type()#
返回类型::

类型

返回 QJSPrimitiveValue 的类型。