0
QtScript에서 C++로 객체 배열을 전달하고 싶습니다. 그러나이를 수행하는 방법을 파악하지 못했습니다. 배열을 생성하자마자, 배열에 접근하기 전에 배열 요소가 문자열로 변환됩니다. QtScript : C++에 객체 배열 전달
이
는 지금까지 시도 된 것입니다 : ...class myObject : public QObject, public QScriptable
{
Q_OBJECT
public Q_SLOTS:
void test(QVariantList list);
};
void myObject::test(QVariantList list)
{
for (QVariantList::const_iterator it = list.begin(); it != list.end(); ++it) {
QVariant element = *it;
qDebug() << element.typeName() << element.toString();
if (element.canConvert<QVariantMap>()) {
// Not getting here
}
}
}
다음 스크립트
myObject.test([{"foo": 1, "bar": 2}, {"baaz": 3, "baaaz": 4}]);
인쇄
"QString" "[object Object]"
"QString" "[object Object]"
내가 Qt는 4.6을 사용하고
Thanks! QScriptValue 및 QScriptValueIterator 배열을 사용하여 값을 구문 분석 할 수있었습니다. – Plow
참고 : 5.1로 수정되었습니다. – Jay