返回方法Sailfish应用开发入门(五)PageStack、Button使用

最近研究返回方法,稍微总结一下,以后继续补充:

        PageStack供提了基于栈的Sailfish UI航导模型。
        PageStack由多个page面页构成,一个面页可以push到栈面里代替栈顶的page,或者从栈里移除某个page。
        Sailfish 应用被创立的时候PageStack就经已包含了一个page,这个page是由ApplicationWindow initialPage属性指定的。
        PageStack属性:
            busy:bool 当PageStack正在进行push或pop的时候为true
            currentPage:item PageStack栈顶page
            depth: int PageStack以后有多少个page

        PageStack方法:
           PageStack:clear() 从栈里移除有所page
           PageStack:find(function) 从栈顶到底栈搜索page,晓得碰到function返回true的时候。function必须是一个js方法对象,收接page参数并且返回true或者false。
           PageStack:openDialog(dialog, properties, immediate)  压入一个Dialog到栈面里
           PageStack::pop(page, immediate) 从栈里移除page,如果没有传入page参数,则移除以后page。
           PageStack::push(page, properties, immediate)  向栈里压入一个page。page可所以Item、Component、qml的url或page数组。
           PageStack::replace(page, properties, immediate)
           PageStack::replaceWithDialog (dialog, properties, immediate)
返回和方法

    每日一道理
爱心是一片照射在冬日的阳光,使贫病交迫的人感到人间的温暖;爱心是一泓出现在沙漠里的泉水,使濒临绝境的人重新看到生活的希望;爱心是一首飘荡在夜空的歌谣,使孤苦无依的人获得心灵的慰藉。
//main.qml
import QtQuick 1.1
import Sailfish.Silica 1.0
import "pages"

ApplicationWindow
{
    initialPage: Page {
        id: page
        Item {
            id: item
            anchors.centerIn: parent
            Button {
                id: btn1
                text: "Button1"
                onClicked: pageStack.push(Qt.resolvedUrl("pages/FirstPage.qml"))
            }

            Button {
                id: btn2
                anchors.baseline: btn1.bottom
                text: "Button2"
                onClicked: pageStack.push(Qt.resolvedUrl("pages/SecondPage.qml"))
            }
        }
    }
    cover: Qt.resolvedUrl("cover/CoverPage.qml")
}

  

//FirstPage.qml
import QtQuick 1.1
import Sailfish.Silica 1.0

Page {
    id: page
    Button {
        anchors.horizontalCenter: page.horizontalCenter
        anchors.baseline: page.baseline
        text: "Back"
       onClicked: pageStack.pop()
    }

    Label {
        anchors.centerIn: parent
        text: "This is FirstPage"
    }
}
//SecondPage.qml
import QtQuick 1.1
import Sailfish.Silica 1.0

Page {
    id: page
    Button {
        anchors.horizontalCenter: page.horizontalCenter
        anchors.baseline: page.baseline
        text: "Back"
        onClicked: pageStack.pop()
    }

    Label {
        anchors.centerIn: parent
        text: "This is SecondPage"
    }
}

    
 

    
     

 

文章结束给大家分享下程序员的一些笑话语录: 自从有了Photoshop,我再也不相信照片了!(没有Photoshop的年代,胶片照片年代做假的也不少,那时候都相信假的!)

posted @ 2013-05-03 20:00  坚固66  阅读(297)  评论(0编辑  收藏  举报