0
だから私はこのコードを持っている:isArray()がQScriptValueの項目を反復処理する方法は?
QScriptValue result(someFunction());
if(result.isArray()) {
{
// Print items in array
}
は、私はそれをどのように行うことができますか?私はそれをQList<QScriptValue>
に変換しようとしましたが動作しません。私はこれをやってみました:
const int length = (int)result.property("length").toNumber();
for (int i = 0; i < length; ++i) {
const QSCriptValue entry(result.property(QString::number(i)))));
// do something with entry
}
それは動作しますが、ちょっと醜いようです。
for(v: result.toVariant().as<QVariantList>()) {
// here v is a QVariant-item
}
それならば、実際に確認するためにテストが必要:おそらくのようなものがQScriptValue
助けに基づいて
モジュールは廃止されました。 – dtech
新しい 'QJSEngine'に切り替えることができる場合、' QJSValue'クラスは配列インデックスを受け付けるプロパティ関数オーバーロードを持っています:https://doc.qt.io/qt-5/qjsvalue.html#property-1 – Felix