1
Я хочу создать анимированную стрелку градиента. Я хочу создать анимированный фон для стрелки. Я использовал следующий код, но он не показывает анимированный градиент в фоне стрелки.Создание анимированных градиентов arrow
Canvas {
id: arrowDown
width: parent.height/3
height: width
antialiasing: true
...
property real centerWidth: width/2
property real centerHeight: height/2
property real radius: (Math.min(arrowDown.width, arrowDown.height)*2)/(2*Math.PI)
onPaint: {
var ctx = getContext("2d");
ctx.save();
ctx.clearRect(0, 0, arrowDown.width, arrowDown.height);
ctx.beginPath();
ctx.lineWidth = 8;
ctx.moveTo(arrowDown.centerWidth,arrowDown.centerHeight-arrowDown.radius/2);
ctx.strokeStyle = secondaryColor
ctx.lineTo(arrowDown.centerWidth,
arrowDown.centerHeight+arrowDown.radius/2);
ctx.lineTo(arrowDown.centerWidth+arrowDown.centerWidth/4,
arrowDown.centerHeight+arrowDown.radius/4);
ctx.moveTo(arrowDown.centerWidth,
arrowDown.centerHeight+arrowDown.radius/2);
ctx.lineTo(arrowDown.centerWidth-arrowDown.centerWidth/4,
arrowDown.centerHeight+arrowDown.radius/4);
var gradient = ctx.createLinearGradient(0, 0, 100, 100);
gradient.addColorStop(0.3, Qt.rgba(1, 0, 0, 1));
gradient.addColorStop(0.7, "white");
ctx.stroke();
ctx.restore();
}
Timer {
......
}
Где 'arrowDown' взялось? Вам нужно предоставить минимальный, полный пример. – Mitch