Невозможно назначить [undefined] для QColor - PullRequest
0 голосов
/ 05 июля 2018

Я собираю / запускаю код с 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 голосов
/ 05 июля 2018

Вы должны использовать 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*/ 
}
...