如何从首页文本字段中为第二页文本字段设置值

时间:2019-10-15 07:37:23

标签: qt qml alias

我在main.qml和second.qml页面上有文本字段。当我将值设置为main.page文本字段时,我想将相同的值设置为second.page文本字段。我使用别名属性,但未获得预期的输出。

ApplicationWindow {
id: windowObject
visible: true
width: 640
height: 480

StackView {
    id: stack
    initialItem: view

    Component {
        id: view

        MouseArea {
            Text {
                text: stack.depth
                anchors.centerIn: parent
            }
            onClicked: stack.push(view)
        }
    }
}

TextField{
    id: setvalue
    text:"50" // set value from main page
}

Button{
    id: clickme
    text : "ClickMe"
    x: 100
    y:200
    onClicked: {
        console.debug("New Page")
        stack.pop(StackView.Immediate)
        stack.push (Qt.resolvedUrl("Secondpage.qml"))
    } }}

Secondpage.qml:

Item {
    id: name
    property alias value : getvalue.text
    TextField{
        id: getvalue
        text : "" // value from main page TextField
    }
}

1 个答案:

答案 0 :(得分:0)

实际上,我没有使用第二页找到您的确切位置。 假设它也应该在主屏幕上。然后您的代码应该看起来像这样:

Window {
   id: windowObject
   visible: true
   width: 640
   height: 480

   TextField{
      id: setvalue
      text:"50" // set value from main page
   }

   Secondpage {
       id: _secondPageItem
       anchors.top: setvalue.bottom
       value: setvalue.text
   }
}

Secondpage.qml

Item { // Secondpage.qml
    id: name
    property alias value : getvalue.text
    width: getvalue.width // by default item has geometry (0, 0)
    height: getvalue.heigh

    TextField{
       id: getvalue
       text : "" // value from main page TextField
    }
}