создайте загрузчик в главном окне и вызывайте каждую страницу в этот загрузчик, когда вам когда-либо понадобится изменить страницу, просто измените источник загрузчика
Window {
Loader{
id:myLoader
anchors.fill: parent
source: "LoginPage.qml"
}
Connections{
target: myLoader.item
onBack_clicked:{
loginid = ""
myLoader.source = "LoginPage.qml"
}
onSetting_clicked:{
myLoader.source = "Setting.qml"
}
}
}
и для дочерних qml-файлов: (для меня Setting.qml)
Item {
signal back_clicked()
Button {
id: button1
anchors.right: parent.right
anchors.rightMargin: 15
onClicked: {
back_clicked()
}
}
}
, но если вы не хотите уничтожить старую страницу, используйте SwipeView или StackView:
SwipeView {
id: swipeView
clip: true
currentIndex: 0
Item{
id:firstPage
clip:true
//your page
}
Item{
id:secondPage
clip:true
//your page
}
}
, а для изменения страниц просто измените currentIndex
swipeView.currentIndex = 1
ОБНОВЛЕНИЕ:
StackView {
id: stackView
initialItem: one
}
Component {
id: one
Item{//your first page }
}
Component {
id: two
Item{//your second page }
}
и для перетаскивания своих страниц:
stackView.push({ item: two})
//or
stackView.push("MySecondView.qml")
, чтобы вернуться на старую или главную страницу, просто вставьте его:
stackView.pop()