QML PageStack, comunicação entre páginas - valores de retorno

1

Eu defini o PageStack apenas na página mestra (a.qml):

import QtQuick 2.0
import Ubuntu.Components 0.1

MainView {
    width: units.gu(48)
    height: units.gu(60)
    PageStack {
        id: pageStack
        Page {
            id: page0
            title: i18n.tr("Root page")
            Button {
                objectName: "button1"
                color: "white"

                text: i18n.tr("Dictionary")

                onClicked: {
                    print("ChildA")
                    pageStack.push(Qt.resolvedUrl("ChildA.qml"))
                }
            }
        }
    }
}

Página infantil (ChildA.qml) tem esta aparência:

import QtQuick 2.0
import Ubuntu.Components 0.1

Page {
    id: page0
    title: i18n.tr("ChildA Page")
    Button {
        objectName: "button2"
        color: "white"

        text: i18n.tr("Start child SubChild1.qml")

        onClicked: {
            print("ChildA")
            pageStack.push(Qt.resolvedUrl("SubChild1.qml"))
        }
    }

    Button {
        objectName: "button3"
        color: "white"

        text: i18n.tr("Start child SubChild2.qml")

        onClicked: {
            print("ChildA")
            pageStack.push(Qt.resolvedUrl("SubChild2.qml"))
        }
    }

}

Ao fechar SubChild2.qml ou SubChild2.qml, eu preciso das informações de ChildA.qml se estiver fechado SubChild2.qml ou fechado SubChild2, e preciso de alguns parâmetros de retorno delas. Como fazer isso?

    
por user262898 06.04.2014 / 13:42

1 resposta

0

Você deve declarar SubChild1 e SubChild2 estaticamente em ChildA. Em seguida, anexe o sinal "pageClosed" a ambos com um conjunto de parâmetros obrigatórios. Última etapa - adicione um manipulador para esses sinais, por exemplo

SubChild1 {
id: subChild1
...
onPageClosed: { /* my staff */ }
}
    
por QtRoS 06.04.2014 / 14:17