O código a seguir é strongmente inspirado no código fornecido pela documentação do SDK oficial . Eu só mudei o controle padrão para ser Button em vez de ListItem:
import QtQuick 2.0
import Ubuntu.Components 0.1
MainView {
width: units.gu(48)
height: units.gu(60)
PageStack {
id: pageStack
Component.onCompleted: push(page0)
Page {
id: page0
title: i18n.tr("Root page")
visible: false
Column {
anchors.margins: units.gu(3)
spacing: units.gu(3)
anchors.fill: parent
Button {
anchors.horizontalCenter: parent.horizontalCenter
text: i18n.tr("Page one")
onClicked: pageStack.push(page1, {color: UbuntuColors.orange})
}
Button {
anchors.horizontalCenter: parent.horizontalCenter
text: i18n.tr("External page")
onClicked: pageStack.push(Qt.resolvedUrl("MyCustomPage.qml"))
}
}
}
Page {
title: "Rectangle"
id: page1
visible: false
property alias color: rectangle.color
Rectangle {
id: rectangle
anchors {
fill: parent
margins: units.gu(5)
}
}
}
}
}
Para alternar ou criar uma nova página, você só precisa chamar o método push. A página enviada pode ser um item, componente ou URL.