Hi,

I am trying to create instances of objects using Qt.createQmlObject and then 
from the same function destroy the object doing the creation. When I do this 
the objects seem to remain but all their javascript functions cease to work. If 
the parent is not destroyed everything works as normal. I am specifying a 
parent in the call to createQmlObject that is not destroyed so I am confused as 
to why the objects cease to function normally. 


I've included an example down the bottom, main.qml is the qml to run.

In this example you would expect to be able to able to click the red box, have 
it make a new red box and that new red box is then able to be clicked again and 
a new one made and old one destroyed and so on. In fact only the first red box 
reacts to clicks and the dynamically created one doesn't.

So my question is why does this happen and how could I get around it? 

I have a need to be able to create new objects and destroy the old one 
dynamically. I also can't use createComponent/createObject as there are other 
issues with that approach.

Thanks in advance,

Kimble Young


main.qml

importQtQuick1.0 
Rectangle{
    id: mainRectangle

width:360
height:360


Component.onCompleted:{ 
Qt.createQmlObject("importQtQuick1.0;BoxThing{x:"+Math.random()*360+";y:"+Math.random()*360+"}",mainRectangle);
 }
}



BoxThing.qml

importQtQuick1.0 
Rectangle{
id:boxThing
width:50
height:50
color:"red"
MouseArea{
anchors.fill:parent
onClicked:{
console.log("Ihavebeenclicked");
Qt.createQmlObject("importQtQuick1.0;BoxThing{x:"+Math.random()*360+";y:"+Math.random()*360+"}",mainRectangle);
boxThing.destroy();
}
}
}
_______________________________________________
Qt-qml mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-qml

Reply via email to