[Interest] Dynamically created item destroyed with original parent despite reparenting

Peter Klosowski kloffy at gmail.com
Sun Dec 20 15:24:46 CET 2015


Hello,

I am curious as to whether the following is expected behavior or a bug:

import QtQuick 2.5import QtQuick.Window 2.1
Window {
    id: window
    width: 1280; height: 960
    visible: true

    Component {
        id: component
        Rectangle {
            width: 64; height:64
            color: "blue"
        }
    }

    Item {
        id: root
        anchors.fill: parent

        Rectangle {
            anchors.right: parent.right
            width: 64; height:64
            color: "red"

            MouseArea {
                anchors.fill: parent

                property var target: null

                onPressed: {
                    if (oldParent) {
                        // The blue rectangle is initially created as
a child of oldParent.
                        target = component.createObject(oldParent,
{"x": 0, "y": 0});
                    }
                }

                onReleased: {
                    if (oldParent) {
                        // How can I transfer ownership to newParent?
                        // The blue rectangle should stay alive as a
child of newParent.
                        // (It appears the following line is not sufficient!)
                        target.parent = newParent;
                        oldParent.destroy();
                    }
                }
            }
        }

        Item { id: oldParent; anchors.fill: parent }
        Item { id: newParent; anchors.fill: parent }
    }
}


Also, if there is a workaround to make this work (i.e. make the blue
rectangle stay after the mouse is released), I would love to hear about it.
I have posted about this on the forums, but I have not received a response
so far.

https://forum.qt.io/topic/61903/dynamically-created-item-destroyed-with-original-parent-despite-reparenting

Best regards,
kloffy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20151221/32a75178/attachment.html>


More information about the Interest mailing list