Ce qui est bon à utiliser sur une application téléphonique Ubuntu qui a besoin de 25 variables pour obtenir des entrées qui sont des nombres int. Champs de texte ou saisie de texte.
En ce moment, j'utilise des entrées de texte pour créer les 25 identifiants que je vais utiliser.
Voici un exemple de mon code:
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
}
}
Les deux sont acceptables car ils stockent la propriété text dans une chaîne.
Vous pouvez utiliser l'extrait de code suivant pour restreindre l'entrée (avec IntValidator ) et effectuer des calculs à l'aide de la fonction javascript standard 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)}
}
}