qt - 无法将 [未定义] 分配给 QColor
问题描述
我正在使用 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*/
}
推荐阅读
- jquery - 如何创建具有不同图像高度和宽度的图像网格滑块(砌体滑块)
- c# - 通过 C# 在 Unity 中从 API URL 解析 JSON
- javascript - 带有 3 个参数、返回对象或字符串的 Javascript 映射
- javascript - Javascrip - “popstate” Windows 事件不起作用,仅在页面加载几秒钟后
- error-handling - 如何处理索引越界错误?
- javascript - 响应标头中的 set-cookies 未在 Vue 应用程序中设置
- python - win32ui.CreateBitmap() 从我希望它捕获的窗口后面抓取屏幕元素
- python - 如何在 Selenium 脚本中让 cookie 永远活着?
- raspberry-pi - 将 Discord Web App 设置为在 Raspbian 10 Buster 中启动时运行
- android - 单元测试 ViewModel + Coroutine + LiveData