Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QScriptValueIterator类提供了一个Java风格的迭代器QScriptValue。More...
该QScriptValueIterator类提供了一个Java风格的迭代器QScriptValue。
该QScriptValueIterator构造函数接受一个QScriptValue作为参数。施工完毕后,迭代器位于属性序列的开始。以下是如何遍历的所有属性QScriptValue:
QScriptValue object; ... QScriptValueIterator it(object); while (it.hasNext()) { it.next(); qDebug() << it.name() << ": " << it.value().toString(); }
该next( )前进的迭代器。该name( )value()和flags( )函数返回被跳过的最后一个项目的名称,值和标志。
如果你想为你遍历删除的属性QScriptValue,使用remove( ) 。如果要修改某个属性的值,请使用setValue( ) 。
需要注意的是QScriptValueIterator只能通过迭代QScriptValue自身的特性,即它不遵循原型链。你可以使用一个循环像这样遵循原型链:
QScriptValue obj = ...; // the object to iterate over while (obj.isObject()) { QScriptValueIterator it(obj); while (it.hasNext()) { it.next(); qDebug() << it.name(); } obj = obj.prototype(); }
需要注意的是QScriptValueIterator不会自动跳过具有的属性QScriptValue.SkipInEnumeration标志设置,该标志只影响迭代的脚本代码。如果你愿意,你可以跳过此类物业的代码如下所示:
while (it.hasNext()) { it.next(); if (it.flags() & QScriptValue.SkipInEnumeration) continue; qDebug() << "found enumerated property:" << it.name(); }
构造一个迭代器遍历object。迭代器被设置为在属性的序列的前部(第一属性之前)。
返回用跃过最后一个属性的标志next()或previous( ) 。
See also value( ) 。
返回True如果至少有一个项目未来的迭代器(即迭代器not在属性序列)的后面,否则返回False 。
See also next()和hasPrevious( ) 。
如果在后面的迭代器至少有一个项目,则返回True (即迭代器not在属性序列)的前面,否则返回False 。
See also previous()和hasNext( ) 。
返回用跃过最后一个属性的名称next()或previous( ) 。
一个位置前进的迭代器。
在位于容器的后面的迭代器调用这个函数会导致不确定的结果。
See also hasNext( )previous()和name( ) 。
一个位置移动迭代回来。
在位于容器的前一个迭代器调用这个函数会导致不确定的结果。
See also hasPrevious( )next()和name( ) 。
删除所有已使用跃过最后一个属性next()或previous( ) 。
See also setValue( ) 。
返回用跃过最后一个属性的名称next()或previous( ) 。
此功能被引入Qt的4.4 。
设置value这是用跳过去的财产next()或previous( ) 。
移动迭代器的背面QScriptValue(后最后一个属性) 。
See also toFront()和previous( ) 。
移动迭代器的前面QScriptValue(第一属性之前) 。
返回用跃过最后一个属性的值next()或previous( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |