QML, добавляющий два входа и возвращающий результат - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть файл QML от V-Play (он же Felgo):

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 голосов
/ 22 февраля 2019

Ввод в вашем TextEdit считается строкой.Вы должны преобразовать его в числа:

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