QtScript:将对象数组传递给C++; 我想把一个对象数组从我的QtScript传递到C++,但是我还没能弄清楚如何实现这个目标。一旦我创建了一个数组,数组中的元素在我能够访问它们之前就被转换成字符串

QtScript:将对象数组传递给C++; 我想把一个对象数组从我的QtScript传递到C++,但是我还没能弄清楚如何实现这个目标。一旦我创建了一个数组,数组中的元素在我能够访问它们之前就被转换成字符串,qt,qtscript,Qt,Qtscript,这就是我迄今为止一直在尝试的: 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.en

这就是我迄今为止一直在尝试的:

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
        }
    }
}
印刷品

"QString" "[object Object]"
"QString" "[object Object]"

我正在使用Qt 4.6…

这是一个报告,您可以通过将插槽中的参数更改为QScript值并自己进行转换来解决此问题

谢谢!我能够使用QScript Value和用于数组的QScript ValueIterator解析这些值。仅供参考:从5.1开始就已经修复了
"QString" "[object Object]"
"QString" "[object Object]"