对QT和QML来说是全新的。我正在尝试根据两个属性 double callValuehandRaiseXBB之间的关系设置矩形的颜色,但出现错误







谁能告诉我我在做什么错?

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
        }
    }
}

最佳答案

您可以这样做:

color: (hand.callValue >= hand.handRaiseXBB) ? hand.handFoldColor : hand.handCallColor

您还可以创建一个函数来对其进行计算,然后为color属性分配函数的返回值:
function getHandColor()
{
    var handColor = hand.handCallColor
    if(hand.callValue >= hand.handRaiseXBB)
    {
        handColor = hand.handFoldColor
    }
    return handColor
}
color: getHandColor()

09-08 05:46