启用为false时如何自定义QtQuick 2组件样式

启用为false时如何自定义QtQuick 2组件样式,qt,qtquick2,qtquickcontrols2,Qt,Qtquick2,Qtquickcontrols2,例如,当我在组合框上设置enabled属性时,它就会“变灰”。据我所知,它在组件上方绘制了一层,具有一定的不透明度,因此原始设计是可见的,但会稍微褪色。如何调整此效果 我试图根据已启用的属性的状态更改组件的背景色,但没有帮助。例如,我将我的背景色设置为红色,当启用的属性为false时,但它没有变为红色,由于我上面描述的覆盖,它变得更像浅红色 一个简单的代码示例: ComboBox { id: control enabled: false model: ["First", "Seco

例如,当我在
组合框上设置
enabled
属性时,它就会“变灰”。据我所知,它在组件上方绘制了一层,具有一定的不透明度,因此原始设计是可见的,但会稍微褪色。如何调整此效果

我试图根据
已启用的
属性的状态更改组件的背景色,但没有帮助。例如,我将我的背景色设置为红色,当启用的
属性为false时,但它没有变为红色,由于我上面描述的覆盖,它变得更像浅红色

一个简单的代码示例:

ComboBox {
  id: control
  enabled: false

  model: ["First", "Second", "Third"]

  background: Rectangle {
    color: control.enabled ? "transparent" : "red"
  }
}

正如@jpnurmi所建议的,我的问题的根源在Qt5.7.1中得到了修复

ComboBox {
  id: control
  enabled: false

  model: ["First", "Second", "Third"]

  opacity: 1 // *

  background: Rectangle {
    color: control.enabled ? "transparent" : "red"
  }
}

*=在此处添加此项将覆盖默认的不透明度行为,然后可以通过后台组件手动控制此行为。

您使用的是哪个Qt版本?我相信这在Qt5.7.1中是固定的。这个特定的提交,登陆到Qt5.7.1,将不透明度语句从控件的根元素移动到构建块,因此现在如果替换背景,您可以完全控制其不透明度:PS。属性的名称是
enabled
。是的,这是一个输入错误。谢谢你。我正在使用Qt5.7.0,但我正在升级到Qt5.7.1,并将检查是否修复了它。谢谢你的提示。我将在尝试使用Qt5.7.1后尽快返回。