[Interest] Updating NumberAnimation from/to at runtime

Shantanu Tushar shaan7in at gmail.com
Sun Jul 16 15:59:00 CEST 2017


This worked like a charm-

alwaysRunToEnd: false
onToChanged: restart()

Thanks everyone!

On Fri, Jul 14, 2017 at 7:37 PM, Jérôme Godbout <jerome at bodycad.com> wrote:

> so probably doing like Mark point out
>
> *alwaysRunToEnd: false*
> onToChanged: restart()
>
> seem to work but very slowly, wonder if there's something better to be
> done here, much more like a state animation.
>
> [image: bodycad] <https://www.bodycad.com/>
> Jerome Godbout
> Software Developer
> 2035 rue du Haut-Bord, Québec, QC, Canada. G1N 4R7
> T:  +1 418 527-1388 <+1%20418-527-1388>
> E: jerome at bodycad.com
> www.bodycad.com
>
> The contents of this email message and any attachments are intended solely
> for the addressee(s) and may contain confidential and/or privileged
> information and may be legally protected from disclosure. If you are not
> the intended recipient of this message or their agent, or if this message
> has been addressed to you in error, please immediately alert the sender by
> reply email and then delete this message and any attachments. If you are
> not the intended recipient, you are hereby notified that any use,
> dissemination, copying, or storage of this message or its attachments is
> strictly prohibited.
>
> Le contenu de ce message et les pièces jointes sont destinés uniquement
> pour le(s) destinataire(s) et peuvent contenir des informations
> confidentielles et / ou privilégiées qui peuvent être protégées légalement
> contre toute divulgation. Si vous n'êtes pas le destinataire de ce message
> ou son agent, ou si ce message vous a été adressé par erreur, s’il vous
> plaît avertir immédiatement l'expéditeur par courriel de réponse, puis
> supprimer ce message et les pièces jointes. Si vous n'êtes pas le
> destinataire prévu, vous êtes par la présente informé que toute
> utilisation, diffusion, copie, ou stockage de ce message ou de ses pièces
> jointes est strictement interdit.
>
> On Fri, Jul 14, 2017 at 9:54 AM, Mark Tucker <mark.tucker at airborne.aero>
> wrote:
>
>> From my experience, once started, you cannot dynamically change the
>> parameters (such as from, to, duration) of an animation in such a way,
>> without restarting the animation. Doing so simply has no effect on the
>> already running animation.
>>
>>
>>
>> In other words, the values are taken as an assignment at the point at
>> which it's started and will not change until the animation is restarted.
>>
>>
>>
>> -Mark
>>
>>
>>
>> *From:* Interest [mailto:interest-bounces+mark.tucker=
>> airborne.aero at qt-project.org] *On Behalf Of *Kristoffersen, Even (NO14)
>> *Sent:* 14 July 2017 14:00
>> *To:* interest at qt-project.org
>> *Subject:* Re: [Interest] Updating NumberAnimation from/to at runtime
>>
>>
>>
>> You can try to force binding with Qt.binding().
>>
>>
>>
>> -Even
>>
>>
>>
>> *From:* Interest [mailto:interest-bounces+even.
>> kristoffersen=honeywell.com at qt-project.org
>> <interest-bounces+even.kristoffersen=honeywell.com at qt-project.org>] *On
>> Behalf Of *Shantanu Tushar
>> *Sent:* 14. juli 2017 11:27
>> *To:* interest at qt-project.org
>> *Subject:* [Interest] Updating NumberAnimation from/to at runtime
>>
>>
>>
>> Hi,
>>
>> Consider the following code which draws two rectangles - a red rectangle
>> which contains another blue rectangle.
>>
>> Rectangle {
>>         id: r1
>>         anchors.centerIn: parent
>>         width: 300; height: 100
>>         color: "red"
>>
>>         Rectangle {
>>             id: r2
>>             width: 100; height: 100
>>             color: "blue"
>>
>>             NumberAnimation on x {
>>                 loops: Animation.Infinite
>>                 from: 0; to: r1.width-r2.width
>>                 duration: 1000
>>
>>                 onToChanged: console.log(to)
>>             }
>>         }
>>
>>         NumberAnimation on width {
>>             loops: Animation.Infinite
>>             from: 300; to: 100
>>             duration: 10000
>>         }
>>     }
>>
>> The blue rectangle is supposed to keep moving inside the red rectangle by
>> means of a NumberAnimation. However, the width of the red rectangle changes
>> according to another animation.
>>
>> I thought this will work fine and the blue rectangle will be confined to
>> the red rectangle because of the following binding-
>>
>> to: r1.width-r2.width
>>
>> However, thats not what happens. The blue rectangle overflows the red
>> rectangle, as if the binding never got updated. But, I can see that the
>> `console.log(to)` does prove the binding is working.
>>
>> (Screenshot at http://i.imgur.com/yDTYbv9.png
>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fi.imgur.com%2FyDTYbv9.png&data=02%7C01%7Ceven.kristoffersen%40honeywell.com%7C5b50a750b34e473ffd8708d4ca9a91e0%7C96ece5269c7d48b08daf8b93c90a5d18%7C0%7C0%7C636356212616706749&sdata=D17jHatSL1gf3XFPYQpAebB2e1H7T7nmzhLvi%2BPcB5g%3D&reserved=0>
>> )
>>
>> Is this a limitation of NumberAnimation? Or am I using it wrong?
>>
>>
>>
>> --
>>
>> Shantanu Tushar    (UTC +0530)
>> shantanu.io
>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fshantanu.io&data=02%7C01%7Ceven.kristoffersen%40honeywell.com%7C5b50a750b34e473ffd8708d4ca9a91e0%7C96ece5269c7d48b08daf8b93c90a5d18%7C0%7C0%7C636356212616706749&sdata=E80rwaltPVsx1m%2FToEC8aIY1%2F9fwpeFCfxrLlThOxTs%3D&reserved=0>
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>


-- 
Shantanu Tushar    (UTC +0530)
shantanu.io
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170716/0d25529d/attachment.html>


More information about the Interest mailing list