pragma ComponentBehavior: Bound import QtQuick import QtQuick.Controls import QtQuick.Layouts Window { width: 800 height: 600 visible: true Button { id: btn text: "Complete animation now" onClicked: { if (pushEnterAnim.running) { console.log("Ending...") pushEnterAnim.complete(); } } } StackView { id: stack initialItem: mainView anchors.top: btn.bottom width: parent.width height: 500 pushEnter: Transition { id: pushEnterTrans onRunningChanged: { console.log(`pushEnter transition is running: ${running}`) } PropertyAnimation { id: pushEnterAnim property: "y" from: (stack.mirrored ? -1 : 1) * stack.height to: 0 duration: 2000 easing.type: Easing.OutCubic Component.onCompleted: { console.log(`pushEnter animator is running: ${running}`) } onRunningChanged: { console.log(`pushEnter animator is running: ${running}`) } } } } Component { id: mainView Row { spacing: 10 Button { text: "Push" onClicked: stack.push(mainView) } Button { text: "Pop" enabled: stack.depth > 1 onClicked: stack.pop() } Text { text: stack.depth } } } }