QML添加两个输入并返回结果

时间:2019-02-22 04:00:36

标签: qt qml v-play

我有一个VML(又名Felgo)的QML文件:

import VPlayApps 1.0
import QtQuick 2.0

App {
    id: app
    // You get free licenseKeys from https://v-play.net/licenseKey
    // With a licenseKey you can:
    //  * Publish your games & apps for the app stores
    //  * Remove the V-Play Splash Screen or set a custom one (available with the Pro Licenses)
    //  * Add plugins to monetize, analyze & improve your apps (available with the Pro Licenses)
    //licenseKey: "<generate one from https://v-play.net/licenseKey>"

    NavigationStack {

        Page {
            title: qsTr("My page")

        }

        AppTextField {
            id: appTextField
            x: 0
            y: 329
            width: 256
            height: 19
            anchors.centerIn: parent
            placeholderText: qsTr('Enter a Number')
        }

        AppTextField {
            id: appTextField1
            x: 0
            y: 329
            width: 256
            height: 19
            anchors.verticalCenterOffset: 50
            anchors.centerIn: parent
            placeholderText: qsTr('Enter a Number')
        }
        TextEdit {
            id: text1
            x: 0
            y: 620
            width: 24
            height: 20
            text: qsTr('A')
            font.pixelSize: 30
            anchors.horizontalCenter: appTextField1.horizontalCenter
        }

        AppButton {
            id: button
            x: 0
            y: 575
            width: 24
            height: 20
            text: qsTr("Click me please!")
            anchors.horizontalCenter: appTextField1.horizontalCenter
            enabled: true
            onClicked: {
                text1.text=qsTr('Sum: '+(appTextField.text+appTextField1.text))
            }

        }
    }
}

哪个按预期返回我想要的窗口,但是现在我希望它:

  • 单击按钮后将两个输入相加

  • 并显示在TextEdit

我做了我的代码,但是没用,

我知道您可以创建函数,但是我不知道该怎么做。

如您所见,我尝试了上面的代码。

1 个答案:

答案 0 :(得分:3)

您的TextEdit中的输入被视为String。您必须将其转换为数字:

onClicked: {
  const v1 = parseInt(appTextField.text)
  const v2 = parseInt(appTextField1.text)
  text1.text=qsTr('Sum: ' + ( v1 + v2))
}