addToJavaScriptWindowObject インターフェイスを介して QWebFrame JavaScript 環境に存在する QObject があります。この QObject には、javascript 内で使用されるより多くの QObject ポインター (ファクトリーなど) を返す Q_INVOKABLE メソッドがあります。Qt は、これらの QObject ポインターを、呼び出し元の JavaScript 環境で呼び出すことができるオブジェクトに自動的に変換します。
問題は、JavaScript にこの QObject の所有権を引き継がせたいということです。現在の動作では、C++ 環境が所有権を保持します。
QObject ファクトリ オブジェクトが QScriptEngine オブジェクトへのポインタを保持し、QScriptEngine::newQObject と QScriptEngine::ScriptOwnership 引数を使用して新しいオブジェクトを作成する、過去に QScriptEngine を直接扱ってきました。これは完全に機能します。しかし、QWebFrame JavaScript エンジンの場合、エンジンは QWebFrame 内に埋め込まれており、アクセスできません。
QObject を QWebFrame JavaScript 環境に戻し、JavaScript にそのオブジェクトの所有権を与えるにはどうすればよいですか?