1

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

4

0 に答える 0