Int数値である入力を取得するために25個の変数を必要とするUbuntu Phoneアプリで使用するのに適したもの。テキストフィールドまたはテキスト入力。
現在、テキスト入力を使用して、使用する25個のIDを作成しています。
これが私のコードの例です:
Rectangle { width: 40; height: 17; radius: 20.0
id: rec2
x: 102
y: 50
color: "#F0EBEB"
border.color: "#000000"
// width, height
TextInput {
id: q2
text: "0"
anchors.centerIn: parent
cursorVisible: true
}
}
Rectangle { width: 40; height: 17; radius: 20.0
id: rec3
x: 102
y: 67
color: "#F0EBEB"
border.color: "#000000"
// width, height
TextInput {
id: q3
text: "0"
anchors.centerIn: parent
cursorVisible: true
}
}
Rectangle { width: 40; height: 17; radius: 20.0
id: rec4
x: 102
y: 84
color: "#F0EBEB"
border.color: "#000000"
// width, height
TextInput {
id: q4
text: "0"
anchors.centerIn: parent
cursorVisible: true
}
}
どちらも、テキストプロパティを文字列に格納するので問題ありません。
次のスニペットを使用して( IntValidator で)入力を制限し、標準のJavaScript関数 parseInt を使用して計算を行うことができます。
import QtQuick 2.0
import Ubuntu.Components 0.1
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
MainView {
id: main
width: 200
height: 200
TextField {
anchors.centerIn: parent
placeholderText: "0"
text: "12"
validator: IntValidator{}
horizontalAlignment: TextInput.AlignHCenter
style: TextFieldStyle {
textColor: "black"
background: Rectangle {
radius: 20
color: "#F0EBEB"
implicitWidth: 40
implicitHeight: 24
border.color: "#000000"
border.width: 1
}
}
onTextChanged: {console.log(parseInt(text,10) + 1000)}
}
}