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

时间:2017-02-07 11:32:50

标签: qt qtquick2 qtquickcontrols2

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

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

一个简单的代码示例:

ComboBox {
  id: control
  enabled: false

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

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

1 个答案:

答案 0 :(得分:2)

正如@jpnurmi建议的那样,我的问题来源已在Qt 5.7.1修复。

ComboBox {
  id: control
  enabled: false

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

  opacity: 1 // *

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

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