无法将[undefined]分配给QColor

时间:2018-07-05 08:36:27

标签: qt qml qt5

我正在使用Qt 5.11构建/运行代码。代码中有一个QML样式,如下所示:

// Button style delegate
    Component {
        id: enabledButtonStyle
        ButtonStyle {
            padding.top: 0
            padding.bottom: 0
            padding.right: 0
            padding.left: 0
            background: Rectangle {
                implicitHeight: enableButton.height
                implicitWidth: enableButton.width
                color: {
                    if ((buttonEnabled || hoverAlways) && enabled) {
                        if (propertyButton.hovered)
                            hoveredBgColor
                        else
                            defaultBgColor
                    } else {
                        selectedBgColor
                    }
                    if (propertyButton.pressed)
                        selectedBgColor
                }
            }
        }
    }

但是,我在color: {行收到以下警告

Unable to assign [undefined] to QColor

我不知道如何解决此错误。有人可以提示吗?

1 个答案:

答案 0 :(得分:1)

您必须使用return

color: {
    if ((buttonEnabled || hoverAlways) && enabled) {
        if (propertyButton.hovered)
            return hoveredBgColor
        else
            return defaultBgColor
    } else {
        return selectedBgColor
    }
    // will never enter this line since the if else is absolute.
    /*if (propertyButton.pressed)
        return selectedBgColor*/ 
}