大家好,我是 qml 编程新手,我只是想知道如何在用户点击我的按钮时切换到其他页面。顺便问一下,如何在 ubuntu sdk 中创建一个新页面,以便用户点击按钮时转到该页面。
谢谢
答案1
以下代码深受官方 SDK 提供的代码的启发文档。我只是将默认控件从 ListItem 改为 Button:
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)
}
}
}
}
}
切换或者创建新页面只需要调用push方法即可,推送的页面可以是Item,Component或者URL。