QObject
を使用して QtScript で既に作成できるa のサブクラスがあります。var x = new Test();
コンストラクター関数を作成し、次のように使用して登録しましQScriptEngine::newFunction
た。QScriptEngine::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 の static メンバーに格納されます)。
基になる C++ オブジェクトを作成するdelete x;
にはどうすればよいですか? (slot from )QtScript
delete
については知っていますが、使用できません。x.deleteLater();
QObject