If-Anweisung in QML
Komplett neu in QT und QML. Ich versuche, um die Farbe eines Rechtecks auf der Grundlage der Beziehung zwischen den beiden Anwesen Doppelzimmer callValue
und handRaiseXBB
, aber ich bekomme die Fehlermeldung
unerwartetes token, wenn"
und
erwartet ein Qualifizierter name id
Könnte mir jemand sagen was ich falsch mache?
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
}
}
}
- Denken Sie daran, dass QML ist deklarative Sprache, und Sie sind in der Lage zu schreiben, imperativem code in Funktionen oder Eigenschaft Bindungen, aber nicht in der Objekt-definition.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kannst du es so machen:
Könnte man auch eine Funktion zu berechnen, und dann weisen Sie der Eigenschaft color mit der return-Wert der Funktion:
Andere form, dies zu lösen, ist folgende:
Aber die form mit der ternäre operator ist die bessere form!
QML ist "Basis" in javascript, dann ich glauben, dass alle itens sind javascript-Objekte, wie: