8
votes

Comment retarder l'action JavaScript au sein de QML?

Je construis une application C ++ basée sur qml .

pour le rendre simple:

Dans mon fichier QML principal, j'ai un bouton (rectangle) appelant un Fonction JavaScript (définie dans un fichier JS externe) lorsque vous avez cliqué sur: xxx

Comme vous pouvez le constater, dans cette fonction, j'appelle n (= 3 Ici) fois une autre fonction JS pour créer de manière dynamique plusieurs objets QML à ajouter à la scène: xxx

Ceci fonctionne bien. mais l'objet créé (symbole) apparaît dans la fenêtreApp avec une animation de traduction (environ 1Sec.), et j'aimerais attendre que l'animation du premier objet soit terminée avant de créer le second ... < / P>

Comme nous ne pouvons pas utiliser la fonction JavaScript () JavaScript dans QML, je me demande comment je pourrais y parvenir. Je ne vois pas comment je pourrais utiliser l'objet Timer QML ou même la pauseanimation ...

Quelqu'un sait-il ajouter un délai entre 2 opérations JavaScript QML?


0 commentaires

3 Réponses :


0
votes

Vous pouvez probablement le faire pour que vous ne créiez qu'un "symbole" à partir de votre action de votre bouton et déclenche un nouveau symbole sur un événement dans le nouvel objet. Peut-être que l'animation se termine déclenche un événement que vous pourriez utiliser?



0
votes

Son été un moment, j'ai manqué QML. Mais laissez-moi essayer de suggérer une solution. Je suppose que cela pourrait fonctionner si vous appelez que enrchangeanimation.running = true dans composant.Oncomlpetéd événement. J'ai posté une réponse stupide auparavant. Maintenant, je le remplace par une manière paresseuse / laid de faire cela. Ce n'est probablement pas la bonne façon de le faire, bien que ce code puisse aider votre cas d'utilisation.

CreateObject.js xxx

main.qml xxx

objet.qml // symbole dans votre cas xxx


0 commentaires

3
votes

Je pense que ce Type de minuterie QML peut vous aider réaliser ce que vous voulez. XXX


0 commentaires