如何在 enable 为 false 时自定义 QtQuick 2 组件样式
How to customize a QtQuick 2 component style while enable is false
例如,当我在 ComboBox
上设置 enabled
属性 时,它会得到 "greyed out"。据我所知,它在组件上方绘制了一个具有一定不透明度的层,因此原始设计可见但略微褪色。我该如何调整这种效果?
我尝试根据 enabled
属性 的状态更改我的组件背景颜色,但这没有帮助。例如,我将我的背景颜色设置为红色,当 enabled
属性 为假时,但它没有变成红色,由于我上面描述的覆盖,它变得更像浅红色.
一个简单的代码示例:
ComboBox {
id: control
enabled: false
model: ["First", "Second", "Third"]
background: Rectangle {
color: control.enabled ? "transparent" : "red"
}
}
正如@jpnurmi 所建议的那样,我的问题根源已在 Qt 5.7.1 中修复。
ComboBox {
id: control
enabled: false
model: ["First", "Second", "Third"]
opacity: 1 // *
background: Rectangle {
color: control.enabled ? "transparent" : "red"
}
}
* = 在这里添加,将覆盖默认的不透明度行为,然后可以通过后台组件手动控制。
例如,当我在 ComboBox
上设置 enabled
属性 时,它会得到 "greyed out"。据我所知,它在组件上方绘制了一个具有一定不透明度的层,因此原始设计可见但略微褪色。我该如何调整这种效果?
我尝试根据 enabled
属性 的状态更改我的组件背景颜色,但这没有帮助。例如,我将我的背景颜色设置为红色,当 enabled
属性 为假时,但它没有变成红色,由于我上面描述的覆盖,它变得更像浅红色.
一个简单的代码示例:
ComboBox {
id: control
enabled: false
model: ["First", "Second", "Third"]
background: Rectangle {
color: control.enabled ? "transparent" : "red"
}
}
正如@jpnurmi 所建议的那样,我的问题根源已在 Qt 5.7.1 中修复。
ComboBox {
id: control
enabled: false
model: ["First", "Second", "Third"]
opacity: 1 // *
background: Rectangle {
color: control.enabled ? "transparent" : "red"
}
}
* = 在这里添加,将覆盖默认的不透明度行为,然后可以通过后台组件手动控制。