import QtQuick 2.9 import QtQuick.Controls 2.4 Page { Item { id: calculate anchors.fill: parent state: "idle" states: [ State { name: "idle" PropertyChanges { target: mainStack currPage: startPageCalculatorComp } }, State { name: "calculate" PropertyChanges { target: mainStack currPage: mainCalculatorPageComp } } ] StackView { id: calculateStack property var currPage anchors.fill: parent onCurrPageChanged: { calculateStack.replace(currPage) } onCurrentItemChanged: { calculateStack.currentItem.pageOpened() } Component { id: startPageCalculatorComp StartPageCalculator { id: startPage } } Component { id: GamePageCalculatorComp MainCalculatePage { id: mainCalculatorPage } } Component { id: } replaceExit: Transition { NumberAnimation { from: 1 to: 0 property: "opacity" duration: 200 easing.type: Easing.InOutQuad } } replaceEnter: Transition { NumberAnimation { from: 0 to: 1 property: "opacity" duration: 200 easing.type: Easing.InOutQuad } } } } }