私のqmlでは、C++コンポーネントオブジェクトを作成していますが、作成されたオブジェクトを参照する方法がわかりません。
OgreScene オブジェクトを作成する qml は次のとおりです。
MouseArea
{
anchors.fill: parent
function scene()
{
var scene = Qt.createQmlObject( "import Client.Plugin.Ogre 0.1; OgreScene{ id: pluginScene; engine: OgreEngine }", plugin );
console.log( "qml: init scene" );
pluginScene.init();
}
onClicked: scene()
}
実行すると、次のようになります。
Qt Debug: qml: init scene
Qt Warning: qrc:///client.qml:118: ReferenceError: pluginScene is not defined
これをインラインqmlに追加しました:
import Client.Plugin.Ogre 0.1;
インポートなしではオブジェクト定義を見つけることができません。このインポートは既に qml ファイルで行われているため、インライン qml は実行元のファイルとは別のコンテキストにあるように見えます。
qml ファイルと同じコンテキストで c++ コンポーネント オブジェクトを作成するにはどうすればよいですか?