Ok, that’s explain also because onPositionChanged does not work.
The property has no signal notify changes. So, it means you cannot do what you 
want.

So, my workaround is:
 - define a property and animate this property
 - refer this property into gradient

Rectangle {
  id: myRect
  property real gradPosition: 0.98
  gradient: Gradient {
      GradientStop{ … ; position: myRect.gradPosition }
 …

Ciao,
Gianluca.


> On 18 Nov 2015, at 15:20, Jason H <jh...@gmx.com> wrote:
> 
> A fantastic suggestion! However when I tried it I got:
> QQmlExpression: Expression qrc:/NextBar.qml:33:40 depends on non-NOTIFYable 
> properties:
>    QQuickGradientStop::position
> 
> Does anyone know why these aren't NOTIFYable?
> 
> 
>> Sent: Tuesday, November 17, 2015 at 4:16 PM
>> From: Gianluca <gmax...@gmail.com>
>> To: "Jason H" <jh...@gmx.com>
>> Cc: "interest@qt-project.org" <interest@qt-project.org>
>> Subject: Re: [Interest] Animating a gradient
>> 
>> Hello Jason,
>> why you don’t simple use property binding ?
>> 
>> GradientStop { id: gs2; position: gs1.position+0.1; color: "dodgerblue" }
>> 
>> and remove completely onPositionChanged
>> 
>> Ciao,
>> Gianluca.
>> 
>> 
>> Il giorno 17/nov/2015, alle ore 20:39, Jason H <jh...@gmx.com> ha scritto:
>> 
>>> I want to animate a gradient, but onPositionChanged gives an error, even 
>>> though I can animate it. What am I doing wrong?
>>> 
>>> 
>>> Item {
>>>     property alias color: container.color
>>>     Component.onCompleted: anim.start()
>>>     Rectangle {
>>>             id: container
>>>             width: parent.width * .9
>>>             height : parent.height / 2
>>>             anchors.centerIn: parent
>>>             Rectangle {
>>>                     anchors.centerIn: parent
>>>                     width: container.height /2
>>>                     height: container.width
>>>                     rotation: -90
>>>                     gradient:Gradient {
>>>                                     GradientStop { id: gs0; position: 0.00; 
>>> color: "dodgerblue" }
>>>                                     GradientStop {
>>>                                             id: gs1;
>>>                                             position: 0.98;
>>>                                             color: "white";
>>>                                             onPositionChanged: { // Cannot 
>>> assign to non-existent property "onPositionChanged"
>>>                                                     gs2.position = position 
>>> +.01
>>>                                             }
>>>                                     }
>>>                                     GradientStop { id: gs2; position: 0.99; 
>>> color: "dodgerblue" }
>>>                                     GradientStop { id: gs3; position: 1.00; 
>>> color: "dodgerblue" }
>>>                     }
>>>             }
>>>     }
>>> 
>>>     NumberAnimation {
>>>             id: anim
>>>             target: gs1
>>>             property: "position"
>>>             duration: 2000
>>>             easing.type: Easing.InOutQuad
>>>             loops: Animation.Infinite
>>>             from: .98
>>>             to: 0
>>>     }
>>> }
>>> _______________________________________________
>>> Interest mailing list
>>> Interest@qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>> 
>> 

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to