2
情況
我有一些QVector<MyClass>
的實例,我希望它們能夠接觸到QScriptEngine
。公開基於模板的容器類到Qt腳本引擎?
在我的項目,MyClass
是多維數據「點」緩存,它看起來像:
class MyClass
{
public:
MyClass();
/*
Some functions
*/
private:
int m_index;
double m_time;
QList<int> *m_data;
};
我爲什麼這樣做的原因是因爲我希望用戶能夠寫一些ECMA腳本處理來自不同集合的這些「點」。
問題
如何暴露整個容器和它的內容Qt的腳本引擎?
我知道我可以做一個MyClass
和QObject
呼籲QScriptEngine::newObject
得到它的QScriptValue
,然後將該值設置到發動機的全局對象。但是這隻向腳本引擎提供「一點」,我需要的是通過QVector<MyClass>
的整個實例。
(任何其他類型的解決辦法是welocme太!)