QML如何停止过渡动画?

JustWe

样例代码:

Button{
   text: "stop"
   onClicked: p1p2Aniamtion.stop();
}
Rectangle {
  id: rect
  states: [
        State {
            name: "p1"
            PropertyChanges {target: rect; x: 0; y: 0}
        },
        State {
            name: "p2"
            PropertyChanges {target: rect; x: 500; y: 0}
        }
    ]
    transitions: [
        Transition {
            from: "p1"; to: "p2"; reversible: true
            NumberAnimation{ property: "x"; duration: 5000}
        }
    ]
}

在这里,我有一个矩形,使其从一个点移动到另一个p1p2,如果单击按钮,我希望过渡力的动画停止。

我试图停止NumberAnimation,但看起来NumberAnimation绑定了Transition,所以还是要控制动画吗?

真皮

如果要强制将其移动到结束位置,请尝试:

   onClicked: {
       var s = rect.state
       rect.state = ''
       rect.state = s
   }

如果要将其重置为原始位置,请尝试:

onClicked: {
       rect.state = ''
   }

如果您希望它停留在原处,请尝试:

  • 添加属性eG tempX:x
  • 添加带有状态更改的状态eG暂停{target:rect; x:tempX}
  • onXChanged:tempX = x

切换到“暂停”状态

Button{
    y: 400
   text: "stop"
   onClicked: {
       var s = rect.state
       rect.state = 'pause'
       //rect.state = s
   }
}

Button{
    y: 400
    x: 100
   text: "run"
   onClicked: rect.state = (rect.state === 'p1' ? 'p2' : 'p1');
}

Rectangle {
  id: rect
  width: 80
  height: 80
  property int tempX: x
  onXChanged: tempX = x

  states: [
        State {
            name: "p1"
            PropertyChanges {target: rect; x: 0; y: 0}
        },
        State {
            name: "p2"
            PropertyChanges {target: rect; x: 500; y: 0}
        },
        State {
          name: 'pause'
          PropertyChanges { target: rect; x: tempX }
      }
    ]
    transitions: [
        Transition {
            from: "p1"; to: "p2"; reversible: true
            NumberAnimation{ property: "x"; duration: 5000}
        }
    ]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何停止动画过渡?

来自分类Dev

使用QML ListView和C ++ QList <QObject *>时如何具有过渡动画?

来自分类Dev

如何确保CSS过渡动画

来自分类Dev

如何删除UIViewController过渡动画?

来自分类Dev

如何停止CSS动画

来自分类Dev

如何停止animatePNG动画?

来自分类Dev

如何停止动画的开始

来自分类Dev

如何停止animatePNG动画?

来自分类Dev

如何停止图片动画?

来自分类Dev

如何停止CSS动画

来自分类Dev

如何停止动画?

来自分类Dev

如何停止动画Javascript?

来自分类Dev

单击按钮后如何过渡动画?

来自分类Dev

如何创建布局的平滑过渡(动画)

来自分类Dev

如何制作页面加载器/动画/过渡

来自分类Dev

如何设置基于道具的动画过渡?

来自分类Dev

如何更改此动画过渡以自动发生?

来自分类Dev

如何使用CSS为边框过渡动画设置动画?

来自分类Dev

CSS 动画如何从动画过渡到静止状态

来自分类Dev

如何停止UIViewAnimationOptionRepeat UIView动画?

来自分类Dev

如何停止UIViewAnimationOptionRepeat UIView动画?

来自分类Dev

如何停止播放此动画?

来自分类Dev

如何停止jquery的动画滚动?

来自分类Dev

如何在Windows Phone 8中禁用页面过渡动画?

来自分类Dev

如何在动画/过渡过程中暂停

来自分类Dev

如何为链接触发的过渡设置动画

来自分类Dev

如何在SwiftUI中为视图之间的过渡设置动画?

来自分类Dev

如何防止过渡后CSS动画重新启动?

来自分类Dev

如何将ViewGroup用作过渡动画的共享元素?