Si la déclaration en QML
Complètement nouveau pour QT et QML. Je suis en train de régler la couleur d'un rectangle en fonction de la relation entre les deux propery double callValue
et handRaiseXBB
, mais je reçois l'erreur
jeton inattendu si"
et
prévu un nom qualifié id
Quelqu'un pourrait-il me dire ce que je fais de mal?
import QtQuick 2.0
Item{
id: hand
property double callValue: 0.0
property double handRaiseXBB: 100
property string handCallColor: "green"
property string handFoldColor: "grey"
Rectangle {
anchors.fill: hand
if (hand.callValue >= hand.handRaiseXBB) {
color: hand.handFoldColor
}
else {
color: hand.handCallColor
}
}
}
Rappelez-vous juste que QML est langage déclaratif, et vous êtes capable d'écrire du code impératif dans des fonctions ou des biens liaisons, mais pas dans la définition de l'objet.
OriginalL'auteur Q-bertsuit | 2014-07-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire comme ceci:
Vous pouvez aussi faire une fonction pour calculer puis d'attribuer la propriété de couleur avec la valeur de retour de la fonction:
qml est construit sur du javascript, donc il semble que vous auriez besoin de l'apprendre.
OriginalL'auteur Retired Ninja
Une autre forme de résoudre ce problème est la suivante:
Mais la forme avec l'opérateur ternaire est une meilleure forme!
QML est "basé" en javascript, alors je pense que tous les itens sont des objets javascript, comment:
OriginalL'auteur user3854612