无法使用渐变Qml实现正确的不透明度
Unable to achieve right opacity with gradient Qml
我有一个白色矩形,其顶部和底部的不透明度应为 20%,有点褪色效果。我用十六进制值尝试了渐变 属性,尝试了 Qt.rgba() 但似乎没有效果。是我做错了什么还是有其他方法?
一个最小的代码如下:
Rectangle{
width: 400
height: 400
gradient: Gradient{
GradientStop{ position : 0 ; color: "#33FFFFFF" }
GradientStop{ position : 0.4;color: "#FFFFFFFF"}
GradientStop { position : 0.8 ; color: "#33FFFFFF"}
}
}
根据您的修改,我认为您的渐变是倒退的。您希望中间的不透明度为 0,顶部和底部的不透明度为 100%。然后您想将该矩形用作文本顶部的叠加层。我会做成这样:
Rectangle{
width: 400
height: 400
gradient: Gradient{
GradientStop{ position : 0.0; color: "#FFFFFFFF" }
GradientStop{ position : 0.2; color: "#33FFFFFF" }
GradientStop{ position : 0.4; color: "#00FFFFFF"}
GradientStop{ position : 0.6; color: "#00FFFFFF"}
GradientStop{ position : 0.8; color: "#33FFFFFF"}
GradientStop{ position : 1.0; color: "#FFFFFFFF"}
}
}
我有一个白色矩形,其顶部和底部的不透明度应为 20%,有点褪色效果。我用十六进制值尝试了渐变 属性,尝试了 Qt.rgba() 但似乎没有效果。是我做错了什么还是有其他方法? 一个最小的代码如下:
Rectangle{
width: 400
height: 400
gradient: Gradient{
GradientStop{ position : 0 ; color: "#33FFFFFF" }
GradientStop{ position : 0.4;color: "#FFFFFFFF"}
GradientStop { position : 0.8 ; color: "#33FFFFFF"}
}
}
根据您的修改,我认为您的渐变是倒退的。您希望中间的不透明度为 0,顶部和底部的不透明度为 100%。然后您想将该矩形用作文本顶部的叠加层。我会做成这样:
Rectangle{
width: 400
height: 400
gradient: Gradient{
GradientStop{ position : 0.0; color: "#FFFFFFFF" }
GradientStop{ position : 0.2; color: "#33FFFFFF" }
GradientStop{ position : 0.4; color: "#00FFFFFF"}
GradientStop{ position : 0.6; color: "#00FFFFFF"}
GradientStop{ position : 0.8; color: "#33FFFFFF"}
GradientStop{ position : 1.0; color: "#FFFFFFFF"}
}
}