在我的 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++ 组件对象?