QScriptValue Class Reference

[QtScript module]

该QScriptValue类作为一个容器Qt的脚本数据类型。More…

Types

  • enum PropertyFlag { ReadOnly, Undeletable, SkipInEnumeration, PropertyGetter, ..., UserRange }
  • class **[PropertyFlags]($docs-index.htm)**
  • enum ResolveFlag { ResolveLocal, ResolvePrototype, ResolveScope, ResolveFull }
  • class **[ResolveFlags]($docs-index.htm)**
  • enum SpecialValue { NullValue, UndefinedValue }

Methods

  • __init__ (self)
  • __init__ (self, QScriptValue other)
  • __init__ (self, SpecialValue value)
  • __init__ (self, QScriptEngine engine, SpecialValue val)
  • __init__ (self, bool value)
  • __init__ (self, QScriptEngine engine, bool val)
  • __init__ (self, int value)
  • __init__ (self, QScriptEngine engine, int val)
  • __init__ (self, float value)
  • __init__ (self, QScriptEngine engine, float val)
  • __init__ (self, QString value)
  • __init__ (self, QScriptEngine engine, QString val)
  • QScriptValue call (self, QScriptValue thisObject = QScriptValue(), list-of-QScriptValue args = QScriptValueList())
  • QScriptValue call (self, QScriptValue thisObject, QScriptValue arguments)
  • QScriptValue construct (self, list-of-QScriptValue args = QScriptValueList())
  • QScriptValue construct (self, QScriptValue arguments)
  • QScriptValue data (self)
  • QScriptEngine engine (self)
  • bool equals (self, QScriptValue other)
  • bool instanceOf (self, QScriptValue ctor)
  • bool isArray (self)
  • bool isBool (self)
  • bool isBoolean (self)
  • bool isDate (self)
  • bool isError (self)
  • bool isFunction (self)
  • bool isNull (self)
  • bool isNumber (self)
  • bool isObject (self)
  • bool isQMetaObject (self)
  • bool isQObject (self)
  • bool isRegExp (self)
  • bool isString (self)
  • bool isUndefined (self)
  • bool isValid (self)
  • bool isVariant (self)
  • bool lessThan (self, QScriptValue other)
  • QScriptValue property (self, QString name, ResolveFlags mode = QScriptValue.ResolvePrototype)
  • QScriptValue property (self, QScriptString name, ResolveFlags mode = QScriptValue.ResolvePrototype)
  • QScriptValue property (self, int arrayIndex, ResolveFlags mode = QScriptValue.ResolvePrototype)
  • PropertyFlags propertyFlags (self, QString name, ResolveFlags mode = QScriptValue.ResolvePrototype)
  • PropertyFlags propertyFlags (self, QScriptString name, ResolveFlags mode = QScriptValue.ResolvePrototype)
  • QScriptValue prototype (self)
  • QScriptClass scriptClass (self)
  • setData (self, QScriptValue data)
  • setProperty (self, QString name, QScriptValue value, PropertyFlags flags = QScriptValue.KeepExistingFlags)
  • setProperty (self, QScriptString name, QScriptValue value, PropertyFlags flags = QScriptValue.KeepExistingFlags)
  • setProperty (self, int arrayIndex, QScriptValue value, PropertyFlags flags = QScriptValue.KeepExistingFlags)
  • setPrototype (self, QScriptValue prototype)
  • setScriptClass (self, QScriptClass scriptClass)
  • bool strictlyEquals (self, QScriptValue other)
  • bool toBool (self)
  • bool toBoolean (self)
  • QDateTime toDateTime (self)
  • int toInt32 (self)
  • float toInteger (self)
  • float toNumber (self)
  • QScriptValue toObject (self)
  • QMetaObject toQMetaObject (self)
  • QObject toQObject (self)
  • QRegExp toRegExp (self)
  • QString toString (self)
  • int toUInt16 (self)
  • int toUInt32 (self)
  • QVariant toVariant (self)

Detailed Description

该QScriptValue类作为一个容器Qt的脚本数据类型。

QScriptValue支持在中定义的类型 ECMA-262标准:基元类型,它是未定义,为null ,布尔,数字和字符串;和对象类型。此外, Qt的脚本有内置的支持QVariantQObjectQMetaObject

对于基于对象类型(包括Date和RegExp ) ,使用NEWT ( )函数QScriptEngine(例如QScriptEngine.newObject() )来创建所需类型的QScriptValue 。对于原始类型,使用QScriptValue构造函数重载之一。

命名为T ( )的方法(例如isBool( )isUndefined() )可以被用来测试一个值是否是特定类型的。命名为TOT ( )方法(例如toBool( )toString()) can be used to convert a QScriptValue to another type. You can also use the generic qscriptvalue_cast() function.

Object values have zero or more properties which are themselves QScriptValues. Use setProperty() to set a property of an object, and call property() to retrieve the value of a property.

  1. [QScriptEngine]($docs-qscriptengine.html) myEngine;
  2. QScriptValue myObject = myEngine.newObject();
  3. QScriptValue myOtherObject = myEngine.newObject();
  4. myObject.setProperty("myChild", myOtherObject);
  5. myObject.setProperty("name", "John Doe");

Each property can have a set of attributes; these are specified as the third (optional) argument to setProperty(). The attributes of a property can be queried by calling the propertyFlags() function. The following code snippet creates a property that cannot be modified by script code:

  1. QScriptValue val(&myEngine, 123);
  2. myObject.setProperty("myReadOnlyProperty", val, QScriptValue.ReadOnly);

如果你想遍历一个脚本对象的属性,使用QScriptValueIterator类。

对象的值有一个内部prototype属性,该属性可以被访问prototype()和setPrototype( ) 。属性添加到原型由具有该原型中的所有对象共享,这被称为基于原型的继承。在实践中,这意味着(默认)的property( )函数将自动尝试查找看在财产prototype( )(和的原型prototype() ,等等) ,如果对象本身不具有所需的特性。请注意,不是由执行这个原型基于查找setProperty();setProperty( )总是会在脚本对象本身创造的财产。欲了解更多信息,请参阅QtScript文档。

函数对象(对象的isFunction( )返回True )可以通过调用来调用call( ) 。构造函数可以用来构造新的对象通过调用construct( ) 。

使用equals( )strictlyEquals()和lessThan( )到QScriptValue比较到另一个。

对象的值可以有与它们相关联的自定义数据,见setData()和data()函数。默认情况下,这个数据是不可访问的脚本,它可以用来存储你想要用脚本对象相关联的任何数据。通常,这是通过使用自定义类对象(见QScriptClass)来存储一个C + +类,它包含了“原生”对象数据。

请注意,一个QScriptValue的量isObject( )是真实的,只有带有一个参考的实际对象;复制QScriptValue将只复制对象的引用,而不是对象本身。如果你想克隆一个对象(即一个对象的属性复制到另一个对象) ,你可以用一个帮助做for-in声明脚本代码,或QScriptValueIterator在C + + 。


Type Documentation

  1. QScriptValue.PropertyFlag

这个枚举描述属性的特性。

Constant Value Description
QScriptValue.ReadOnly 0x00000001 该属性是只读的。通过Qt的脚本代码试图写入该属性将被忽略。
QScriptValue.Undeletable 0x00000002 试图通过Qt的脚本代码delete该属性将被忽略。
QScriptValue.SkipInEnumeration 0x00000004 该物业不能由一个枚举for-in枚举。
QScriptValue.PropertyGetter 0x00000008 该物业由一个将被调用来获得属性值函数定义。
QScriptValue.PropertySetter 0x00000010 该物业由一个将被调用来设置属性值函数定义。

这个标志被用于表示一个现有的属性是一个QObject成员(属性或方法) 。

Constant Value Description
QScriptValue.KeepExistingFlags 0x00000800 这个值被用来表示setProperty( )该物业的标志应保持不变。如果属性不存在,则默认标志( 0 )将被使用。

标志在此范围内不使用Qt的脚本,并且可以用于定制的目的。

该PropertyFlags类型是一个typedef为QFlags\u003cPropertyFlag\u003e 。它存储PropertyFlag值的或组合。

  1. QScriptValue.ResolveFlag

此枚举指定如何查找某个对象的属性。

Constant Value Description
QScriptValue.ResolveLocal 0x00 只检查对象自己的属性。
QScriptValue.ResolvePrototype 0x01 检查对象本身的属性,然后再搜索原型链。这是默认的。

检查对象本身的属性,然后再搜索作用域链。

检查对象本身的属性,然后再搜索原型链,最后搜索的作用域链。

该ResolveFlags类型是一个typedef为QFlags\u003cResolveFlag\u003e 。它存储ResolveFlag值的或组合。

  1. QScriptValue.SpecialValue

此枚举用于指定一个单值类型。

Constant Value Description
QScriptValue.UndefinedValue 1 一个未定义的值。
QScriptValue.NullValue 0 null值。

Method Documentation

  1. QScriptValue.__init__ (self)

构造一个无效的QScriptValue

  1. QScriptValue.__init__ (self, QScriptValue other)

构造一个新的QScriptValue即副本other

注意,如果other本发明的目的(即,isObject( )将返回True ) ,那么只有一个参照相关对象被复制到新的脚本值(即,对象本身不会被复制) 。

  1. QScriptValue.__init__ (self, SpecialValue value)
  1. QScriptValue.__init__ (self, QScriptEngine engine, SpecialValue val)
  1. QScriptValue.__init__ (self, bool value)
  1. QScriptValue.__init__ (self, QScriptEngine engine, bool val)
  1. QScriptValue.__init__ (self, int value)
  1. QScriptValue.__init__ (self, QScriptEngine engine, int val)
  1. QScriptValue.__init__ (self, float value)
  1. QScriptValue.__init__ (self, QScriptEngine engine, float val)

构造一个新的QScriptValue用特别的value

此功能被引入Qt的4.5 。

  1. QScriptValue.__init__ (self, QString value)

构造一个新的QScriptValue用布尔value

此功能被引入Qt的4.5 。

  1. QScriptValue.__init__ (self, QScriptEngine engine, QString val)

构造一个新的QScriptValue以数字value

此功能被引入Qt的4.5 。

  1. QScriptValue QScriptValue.call (self, QScriptValue thisObject = QScriptValue(), list-of-QScriptValue args = QScriptValueList())

调用此QScriptValue作为一个功能,用thisObject在函数调用中的’ this’对象,并通过args作为参数传递给函数。返回从函数返回的值。

如果这QScriptValue是不是一个函数,调用( )不执行任何操作,并返回一个无效的QScriptValue

注意,如果thisObject是不是一个对象,全局对象(见QScriptEngine.globalObject() )将被用作`这个’对象。

调用调用( )可能会导致异常发生在脚本引擎,在这种情况下, ()调用返回抛出的值(通常是Error对象) 。您可以致电QScriptEngine.hasUncaughtException( ) ,以确定是否发生了异常。

  1. [QScriptEngine]($docs-qscriptengine.html) engine;
  2. engine.evaluate("function fullName() { return this.firstName + ' ' + this.lastName; }");
  3. engine.evaluate("somePerson = { firstName: 'John', lastName: 'Doe' }");
  4. [QScriptValue]($docs-qscriptvalue.html) global = engine.globalObject();
  5. [QScriptValue]($docs-qscriptvalue.html) fullName = global.property("fullName");
  6. [QScriptValue]($docs-qscriptvalue.html) who = global.property("somePerson");
  7. qDebug() << fullName.call(who).toString(); // "John Doe"
  8. engine.evaluate("function cube(x) { return x * x * x; }");
  9. [QScriptValue]($docs-qscriptvalue.html) cube = global.property("cube");
  10. QScriptValueList args;
  11. args << 3;
  12. qDebug() << cube.call([QScriptValue]($docs-qscriptvalue.html)(), args).toNumber(); // 27

See also construct( ) 。

  1. QScriptValue QScriptValue.call (self, QScriptValue thisObject, QScriptValue arguments)

调用此QScriptValue作为一个功能,用thisObject在函数调用中的’ this’对象,并通过arguments作为参数传递给函数。返回从函数返回的值。

如果这QScriptValue不是一个函数,call( )不执行任何操作,并返回一个无效的QScriptValue

arguments可以是一个参数对象,数组, null或undefined ;任何其他类型将导致一个TypeError异常被抛出。

注意,如果thisObject是不是一个对象,全局对象(见QScriptEngine.globalObject() )将被用作`这个’对象。

这个功能的一个常见用法是原生函数调用转发到另一个函数:

  1. [QScriptValue]($docs-qscriptvalue.html) myNativeFunction([QScriptContext](qscriptcontext.html) *ctx, [QScriptEngine]($docs-qscriptengine.html) *)
  2. {
  3. [QScriptValue]($docs-qscriptvalue.html) otherFunction = ...;
  4. return otherFunction.call(ctx->thisObject(), ctx->argumentsObject());
  5. }

See also construct()和QScriptContext.argumentsObject( ) 。

  1. QScriptValue QScriptValue.construct (self, list-of-QScriptValue args = QScriptValueList())

创建一个新的Object并调用这个QScriptValue作为一个构造函数,使用创建的对象作为` this’对象和传球args作为参数。如果从构造函数调用的返回值是一个对象,则该对象被返回,否则默认的构造的对象返回。

如果这QScriptValue是不是一个函数,构造( )不执行任何操作,并返回一个无效的QScriptValue

调用构造( )可能会导致异常发生在脚本引擎,在这种情况下,构建()返回一个被抛出(通常是一个值Error对象) 。您可以致电QScriptEngine.hasUncaughtException( ) ,以确定是否发生了异常。

See also call()和QScriptEngine.newObject( ) 。

  1. QScriptValue QScriptValue.construct (self, QScriptValue arguments)

创建一个新的Object并调用这个QScriptValue作为一个构造函数,使用创建的对象作为` this’对象和传球arguments作为参数。如果从构造函数调用的返回值是一个对象,则该对象被返回,否则默认的构造的对象返回。

如果这QScriptValue不是一个函数,construct( )不执行任何操作,并返回一个无效的QScriptValue

arguments可以是一个参数对象,数组, null或undefined 。任何其他类型将导致一个TypeError异常被抛出。

See also call( )QScriptEngine.newObject()和QScriptContext.argumentsObject( ) 。

  1. QScriptValue QScriptValue.data (self)

返回此内部数据QScriptValue对象。QtScript使用这个属性来存储日期,字符串,数字和布尔对象的原始值。对于其他类型的对象,自定义数据可以使用存储setData( ) 。

此功能被引入Qt的4.4 。

See also setData( ) 。

  1. QScriptEngine QScriptValue.engine (self)

返回QScriptEngine创建此QScriptValue,或者0 ,如果这QScriptValue无效或值不与特定的发动机相关联。

  1. bool QScriptValue.equals (self, QScriptValue other)

返回True如果QScriptValue等于other,否则返回False 。比较如下所述的行为 ECMA-26211.9.3节, “抽象相等比较算法” 。

这个函数可以返回真实的,即使这种类型QScriptValue是的类型不同other值,即比较不严格。例如, 9号比较字符串“ 9”返回True ;一个未定义的值进行比较,以空值返回True ;一个比较Number对象,其原始值是6到String对象,其原始值“6”返回True ;和数字1比较的布尔值true返回True。如果你想执行一个比较没有这样的隐式数值转换,使用strictlyEquals( ) 。

注意,如果这个QScriptValueother值是对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also strictlyEquals()和lessThan( ) 。

  1. bool QScriptValue.instanceOf (self, QScriptValue ctor)

返回True如果QScriptValue是的一个实例other否则返回False 。

This QScriptValue被认为是一个实例other如果other是一个函数和的值prototype物业other是在原型的这条产业链QScriptValue

  1. bool QScriptValue.isArray (self)

返回True如果QScriptValue是Array类的一个对象,否则返回False 。

See also QScriptEngine.newArray( ) 。

  1. bool QScriptValue.isBool (self)

返回True如果QScriptValue是原始的Boolean类型,否则返回False 。

此功能被引入Qt的4.5 。

See also toBool( ) 。

  1. bool QScriptValue.isBoolean (self)
  1. bool QScriptValue.isDate (self)

返回True如果QScriptValue是Date类的一个对象,否则返回False 。

See also QScriptEngine.newDate( ) 。

  1. bool QScriptValue.isError (self)

返回True如果QScriptValue是Error类的一个对象,否则返回False 。

See also QScriptContext.throwError( ) 。

  1. bool QScriptValue.isFunction (self)

返回True如果QScriptValue是一个函数,否则返回False 。

See also call( ) 。

  1. bool QScriptValue.isNull (self)

返回True如果QScriptValue是原始类型的Null ;否则返回False。

See also QScriptEngine.nullValue( ) 。

  1. bool QScriptValue.isNumber (self)

返回True如果QScriptValue是的基本类型数,否则返回False 。

See also toNumber( ) 。

  1. bool QScriptValue.isObject (self)

返回True如果QScriptValue是Object类型,否则返回False 。

需要注意的是函数值,变量值和QObject值是对象,所以对于这样的值该函数返回True 。

See also toObject()和QScriptEngine.newObject( ) 。

  1. bool QScriptValue.isQMetaObject (self)

返回True如果QScriptValueQMetaObject否则返回False 。

See also toQMetaObject()和QScriptEngine.newQMetaObject( ) 。

  1. bool QScriptValue.isQObject (self)

返回True如果QScriptValueQObject否则返回False 。

注意:这个函数返回True ,即使QObjectQScriptValue包裹已被删除。

See also toQObject()和QScriptEngine.newQObject( ) 。

  1. bool QScriptValue.isRegExp (self)

返回True如果QScriptValue是设置了RegExp类的一个对象,否则返回False 。

See also QScriptEngine.newRegExp( ) 。

  1. bool QScriptValue.isString (self)

返回True如果QScriptValue是原始类型为String ,否则返回False 。

See also toString( ) 。

  1. bool QScriptValue.isUndefined (self)

返回True如果QScriptValue是未定义的原始类型,否则返回False 。

See also QScriptEngine.undefinedValue( ) 。

  1. bool QScriptValue.isValid (self)

返回True如果QScriptValue是有效的,否则返回False 。

  1. bool QScriptValue.isVariant (self)

返回True如果QScriptValue是一个变量的值,否则返回False 。

See also toVariant()和QScriptEngine.newVariant( ) 。

  1. bool QScriptValue.lessThan (self, QScriptValue other)

返回True如果QScriptValue小于other,否则返回False 。比较如下所述的行为 ECMA-26211.8.5节, “抽象关系比较算法” 。

注意,如果这个QScriptValueother值是对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also equals( ) 。

  1. QScriptValue QScriptValue.property (self, QString name, ResolveFlags mode = QScriptValue.ResolvePrototype)

返回此值QScriptValue的属性与给定的name,使用给定的mode为解决该房产。

如果没有这样的属性存在,无效QScriptValue返回。

如果属性是使用一个getter函数实现的(即有PropertyGetter标志设置) ,要求财产( )对脚本引擎的副作用,因为getter函数将被调用(可能导致一个未捕获的脚本异常) 。如果发生异常,财产( )返回被抛出(通常是一个值Error对象) 。

See also setProperty( )propertyFlags()和QScriptValueIterator

  1. QScriptValue QScriptValue.property (self, QScriptString name, ResolveFlags mode = QScriptValue.ResolvePrototype)

返回此值QScriptValue的属性与给定的name,使用给定的mode为解决该房产。

这种超负荷property当你需要查找同一个属性重复,因为查询的速度就会加快,当名字被表示为一个字符串实习()是非常有用的。

此功能被引入Qt的4.4 。

See also QScriptEngine.toStringHandle()和setProperty( ) 。

  1. QScriptValue QScriptValue.property (self, int arrayIndex, ResolveFlags mode = QScriptValue.ResolvePrototype)

[

这是一个重载函数。

返回属性在给定arrayIndex,使用给定的mode为解决该房产。

此功能与数组对象时提供了方便和性能。

]($docs-qscriptvalue.html)

如果这QScriptValue是不是一个Array对象,这个函数的行为就像property( )被调用的字符串表示形式arrayIndex

  1. PropertyFlags QScriptValue.propertyFlags (self, QString name, ResolveFlags mode = QScriptValue.ResolvePrototype)

[

返回属性的标志与给定name,使用给定的mode为解决该房产。

]($docs-index.htm)

See also property( ) 。

  1. PropertyFlags QScriptValue.propertyFlags (self, QScriptString name, ResolveFlags mode = QScriptValue.ResolvePrototype)

[

返回属性的标志与给定name,使用给定的mode为解决该房产。

此功能被引入Qt的4.4 。

]($docs-index.htm)

See also property( ) 。

  1. QScriptValue QScriptValue.prototype (self)

如果这QScriptValue是一个对象,返回内部原型(__proto__此对象的属性) ,否则返回一个无效的QScriptValue

See also setPrototype()和isObject( ) 。

  1. QScriptClass QScriptValue.scriptClass (self)

[

返回自定义类的脚本,此脚本对象的一个实例,或者0,如果对象是一个自定义类的没有。

此功能被引入Qt的4.4 。

]($docs-qscriptclass.html)

See also setScriptClass( ) 。

  1. QScriptValue.setData (self, QScriptValue data)

设置内部dataQScriptValue对象。您可以使用此功能来设置,将不会直接访问脚本对象的具体数据,但可以检索在C + +中使用data()函数。

此功能被引入Qt的4.4 。

See also data()和QScriptEngine.reportAdditionalMemoryCost( ) 。

  1. QScriptValue.setProperty (self, QString name, QScriptValue value, PropertyFlags flags = QScriptValue.KeepExistingFlags)

设置这个值QScriptValue的属性与给定的name为给定的value

如果这QScriptValue不是一个对象,这个函数不执行任何操作。

如果这QScriptValue不已经有名称的属性name,一个新的属性被创建;给定的flags然后指定这个属性可以通过脚本代码来访问。

If value是无效的,该属性被删除。

如果属性是使用setter函数实现的(即有PropertySetter标志设置) ,调用的setProperty ( )对脚本引擎的副作用,因为setter函数将被调用给定的value作为参数(可能导致一个未捕获的脚本异常) 。

请注意,您不能为指定自定义的getter或setter函数内置属性,如lengthArray对象或元属性的属性QObject对象。

See also property( ) 。

  1. QScriptValue.setProperty (self, QScriptString name, QScriptValue value, PropertyFlags flags = QScriptValue.KeepExistingFlags)

设置这个值QScriptValue的属性与给定的name为给定的value。给定flags指定此属性可以通过脚本代码来访问。

这种超负荷setProperty当你需要多次设置相同的属性,因为可以执行的操作时,速度更快的名字被表示为一个字符串实习()是非常有用的。

此功能被引入Qt的4.4 。

See also QScriptEngine.toStringHandle( ) 。

  1. QScriptValue.setProperty (self, int arrayIndex, QScriptValue value, PropertyFlags flags = QScriptValue.KeepExistingFlags)

这是一个重载函数。

设置该属性在给定arrayIndex为给定的value

此功能与数组对象时提供了方便和性能。

如果这QScriptValue是不是一个Array对象,这个函数的行为就像setProperty( )被调用的字符串表示形式arrayIndex

  1. QScriptValue.setPrototype (self, QScriptValue prototype)

如果这QScriptValue是一个对象,设置内部原型(__proto__这个对象是物业)prototype否则什么都不做。

内部原型不应该与公共财产名称为“原型”混淆;公众原型通常只设置在充当构造函数。

See also prototype()和isObject( ) 。

  1. QScriptValue.setScriptClass (self, QScriptClass scriptClass)

设置此脚本对象的自定义脚本类scriptClass。这可以用来“推动”(例如通过在脚本中“新”运算符创建一个简单的脚本对象,或者通过QScriptEngine.newObject(中) C + +)到自定义类型的对象。

If scriptClass为0时,该对象将被降级为普通的脚本对象。

此功能被引入Qt的4.4 。

See also scriptClass()和setData( ) 。

  1. bool QScriptValue.strictlyEquals (self, QScriptValue other)

返回True如果QScriptValue等于other使用严格的比较(无转换) ,否则返回False 。比较如下所述的行为 ECMA-26211.9.6节, “严格相等比较算法” 。

如果这种类型QScriptValue是的类型不同other值,此函数返回False 。如果类型相同,则结果取决于类型,如下面的表中:

Type Result
Undefined true
Null true
Boolean true if both values are true, false otherwise
Number false if either value is NaN (Not-a-Number); true if values are equal, false otherwise
String true if both values are exactly the same sequence of characters, false otherwise
Object true if both values refer to the same object, false otherwise

See also equals( ) 。

  1. bool QScriptValue.toBool (self)

返回此布尔值QScriptValue使用中所描述的转换规则 ECMA-262第9.2节, “ ToBoolean ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

此功能被引入Qt的4.5 。

See also isBool( ) 。

  1. bool QScriptValue.toBoolean (self)
  1. QDateTime QScriptValue.toDateTime (self)

返回QDateTime这个值的表示,在本地时间。如果这QScriptValue是不是一个日期,或者日期的值是NaN (非数字号码) ,无效QDateTime返回。

See also isDate( ) 。

  1. int QScriptValue.toInt32 (self)

返回此签名的32位整数值QScriptValue使用中所描述的转换规则 ECMA-262第9.5节“ ToInt32 ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also toNumber()和toUInt32( ) 。

  1. float QScriptValue.toInteger (self)

返回此整数值QScriptValue使用中所描述的转换规则 ECMA-2629.4节, “ ToInteger ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also toNumber( ) 。

  1. float QScriptValue.toNumber (self)

返回此数值QScriptValue,如在定义 ECMA-262第9.3节, “ ToNumber ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also isNumber( )toInteger( )toInt32( )toUInt32()和toUInt16( ) 。

  1. QScriptValue QScriptValue.toObject (self)

  1. QMetaObject QScriptValue.toQMetaObject (self)

如果这QScriptValueQMetaObject,返回QMetaObject指针的QScriptValue代表,否则返回0 。

See also isQMetaObject( ) 。

  1. QObject QScriptValue.toQObject (self)

如果这QScriptValueQObject,返回QObject指针的QScriptValue代表,否则返回0 。

如果QObjectQScriptValue包裹已被删除,这个函数返回0 (即它有可能为toQObject ( )为0 ,即使返回isQObject( )返回True ) 。

See also isQObject( ) 。

  1. QRegExp QScriptValue.toRegExp (self)

返回QRegExp这个值表示。如果这QScriptValue是不是正则表达式,空QRegExp返回。

See also isRegExp( ) 。

  1. QString QScriptValue.toString (self)

返回此字符串值QScriptValue,如在定义 ECMA-262第9.8节“的ToString ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的toString ( )函数(以及可能的valueOf ( ) ) ,试图将对象转换为原始值(可能导致一个未捕获脚本异常) 。

See also isString( ) 。

  1. int QScriptValue.toUInt16 (self)

返回此的无符号16位整型值QScriptValue使用中所描述的转换规则 ECMA-2629.7节, “ ToUint16 ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also toNumber( ) 。

  1. int QScriptValue.toUInt32 (self)

返回此的无符号32位整型值QScriptValue使用中所描述的转换规则 ECMA-262第9.6节“ ToUint32 ” 。

注意,如果这个QScriptValue是一个对象,调用这个函数对脚本引擎的副作用,因为引擎会调用对象的valueOf()的函数(也可能toString( ) ) ,试图将对象转换为原始值(可能导致一个未捕获的脚本异常) 。

See also toNumber()和toInt32( ) 。

  1. QVariant QScriptValue.toVariant (self)

返回QVariant这个值QScriptValue,如果它可以被转换成一个QVariant否则返回一个无效的QVariant。该转换是根据下面的表执行:

Input Type Result
Undefined An invalid QVariant.
Null An invalid QVariant.
Boolean A QVariant containing the value of the boolean.
Number A QVariant containing the value of the number.
String A QVariant containing the value of the string.
QVariant Object The result is the QVariant value of the object (no conversion).
QObject Object A QVariant containing a pointer to the QObject.
Date Object A QVariant containing the date value (toDateTime()).
RegExp Object A QVariant containing the regular expression value (toRegExp()).
Array Object The array is converted to a QVariantList. Each element is converted to a QVariant, recursively; cyclic references are not followed.
Object The object is converted to a QVariantMap. Each property is converted to a QVariant, recursively; cyclic references are not followed.

See also isVariant( ) 。