У меня есть RowLayout
с некоторыми элементами
RowLayout {
anchors.fill: parent
anchors.leftMargin: 3
Image {
id: icon
source: imgSource
sourceSize: Qt.size(parent.width, parent.height)
smooth: true
}
Text {
id: caption
height: parent.height
fontSizeMode: Text.Fit
font.pointSize: textSize
verticalAlignment: Text.AlignVCenter
text: captionText
color: "white"
}
}
, и я хочу применить ColorOverlay
к Image
внутри этого макета:
ColorOverlay {
id: overlay
anchors.fill: icon
source: icon
color: "#ff0000ff"
}
Но если я поставлюColorOverlay
за пределами макета, тогда я не могу использовать anchors.fill: icon
.И если я сделаю это ребенком
Image {
id: icon
source: imgSource
sourceSize: Qt.size(parent.width, parent.height)
smooth: true
ColorOverlay {
id: overlay
anchors.fill: icon
source: icon
color: "#ff0000ff"
}
}
, это, кажется, работает, но я получаю предупреждения в консоли ShaderEffectSource: 'recursive' must be set to true when rendering recursively.