import QtQuick 2.4 import QtQuick.Window 2.2 Window { visible: true width: 400 Item { id: container anchors.fill: parent Rectangle { implicitWidth: 30; implicitHeight: 30 color: "red" objectName: "red" } Repeater { id: row_of_rects model: 1 objectName: "Repeater" //Component.onCompleted: { print("Repeater Component.onCompleted"); dumpChildren(); } function dumpChildren() { print("DUMPING CHILDREN IN STACKING ORDER:") for (var i = 0; i < container.children.length; ++i) { var c = container.children[i] print(c.objectName + "," + c.implicitWidth) } } Rectangle { implicitWidth: 20; implicitHeight: 30 color: "yellow" objectName: "yellow" Component.onCompleted: { print( "Component.onCompleted: " + objectName); row_of_rects.dumpChildren();} Text { anchors.centerIn: parent text: index } } } Rectangle { implicitWidth: 30; implicitHeight: 30 color: "blue" objectName: "blue" } } Timer { interval: 3000 repeat: true running: true onTriggered: { print("\n\nonTriggered\n\n") if (row_of_rects.count < 2) { row_of_rects.model = row_of_rects.count + 1; } else { print("AFTER ROWS CHANGED") row_of_rects.dumpChildren(); running = false } } } }