Как я могу сохранить значение, которое пользователь вводит в переменную?
Например, у меня есть этот код:
TextField {width: 37; height: 19
var
id: q1
x: 91
y: 29
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
anchors.centerIn: parent
placeholderText: "0"
font.pixelSize: 12
text: ""
anchors.verticalCenterOffset: 26
anchors.horizontalCenterOffset: -115
validator: IntValidator{}
horizontalAlignment: TextInput.AlignHCenter
style: TextFieldStyle {
textColor: "black"
background: Rectangle { width: 45; height: 25; radius: 20.0
color: "#F0EBEB"
implicitWidth: 40
implicitHeight: 24
border.color: "#000000"
border.width: 1
}
}
onTextChanged: {console.log(parseInt(text,10) + 1000)}
}
Могу ли я использовать идентификатор для последующего использования и сделать сумму или умножение? Если да, то как?
Можно снова использовать текстовое свойство вне компонента TextField.
Взгляд на следующий пример, где текстовый элемент показывает результат Входного текста + 5:
соответствующий код:
import QtQuick 2.0
import Ubuntu.Components 0.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
MainView {
id: main
width: 300
height: 150
Row {
width: 37;
height: 19
spacing: units.gu(3)
TextField {
id: q1
placeholderText: "0"
font.pixelSize: 12
text: "0"
validator: IntValidator{}
horizontalAlignment: TextInput.AlignHCenter
style: TextFieldStyle {
textColor: "black"
background: Rectangle {
width: 45;
height: 25;
radius: 20.0
color: "#F0EBEB"
implicitWidth: 40
implicitHeight: 24
border.color: "#000000"
border.width: 1
}
}
}
Text {
height: 25;
text: "TextField + 5 = "+(parseInt(q1.text, 10) + 5)
}
}
}
Обновление :
Для хранения суммы двух вводов текста глобально Вы могли определить свойство в родительском элементе, посмотреть на следующий код:
import QtQuick 2.0
import Ubuntu.Components 0.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
MainView {
id: main
width: 300
height: 300
property var sum_q1_q2: parseInt(q1.text, 10) + parseInt(q2.text, 10)
Column {
width: 37;
height: 19
spacing: units.gu(3)
TextField {
id: q1
placeholderText: "0"
font.pixelSize: 12
text: "0"
validator: IntValidator{}
horizontalAlignment: TextInput.AlignHCenter
style: TextFieldStyle {
textColor: "black"
background: Rectangle {
width: 45;
height: 25;
radius: 20.0
color: "#F0EBEB"
implicitWidth: 40
implicitHeight: 24
border.color: "#000000"
border.width: 1
}
}
}
TextField {
id: q2
placeholderText: "0"
font.pixelSize: 12
text: "0"
validator: IntValidator{}
horizontalAlignment: TextInput.AlignHCenter
style: TextFieldStyle {
textColor: "black"
background: Rectangle {
width: 45;
height: 25;
radius: 20.0
color: "#F0EBEB"
implicitWidth: 40
implicitHeight: 24
border.color: "#000000"
border.width: 1
}
}
}
Text {
height: 25;
text: "Q1 + Q2 = "+main.sum_q1_q2
}
}
}
новый текстовый элемент теперь используют свойство "основного" компонента: