Qt Script C ++对象的析构函数

时间:2015-01-02 18:51:55

标签: c++ qt qtscript

我有一个QObject的子类,我已经可以使用var x = new Test();

在QtScript中创建了它

我创建了一个构造函数,并使用QScriptEngine::​newFunctionQScriptEngine::​newQMetaObject注册了它:

QScriptValue construct_Test(QScriptContext *context, QScriptEngine *engine)
{
    Test * ptr = new Test();
    return engine->newQObject(ptr);
}

....
QScriptValue constructor = pEngine->newFunction(construct_Test);
QScriptValue metaObject = pEngine->newQMetaObject(&Test::staticMetaObject, constructor);
pEngine->globalObject().setProperty("Test", metaObject);

我自己管理对象的生命周期(指向对象的指针存储在Test的静态成员中)。

如何在基础C ++对象的delete x; QtScript中创建delete?我知道x.deleteLater();(来自QObject的广告位),但我无法使用它。

0 个答案:

没有答案