QStringList returned from QJSEngine::evaluate() converted to QVariantMap instead of QVariantList?
-
I am playing with the new QJSEngine in Qt 5 and find this a bit odd:
@QStringList MyQObject::test()
{
QStringList list;
list << "abc" << "xyz";
return list;
}int main(int argc, char *argv[])
{
...MyQObject w;
QJSEngine js;
QJSValue ww = js.newQObject(&w);
js.globalObject().setProperty("w", ww);
QJSValue r = js.evaluate("w.test()");
QVariant v = r.toVariant();
qDebug() << v;...
}
@MyQObject::test() is declared as Q_INVOKABLE
And the output:
@QVariant(QVariantMap, QMap(("0", QVariant(QString, "abc") ) ( "1" , QVariant(QString, "xyz") ) ) ) @I was expecting it to be a QVariantList (or better yet, a QStringList). Is this expected behavior or a bug worth reporting?