我正在使用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
我不知道如何解决此错误。谁能给出提示?
你必须使用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*/
}