Qt 制作可以使用鼠标操作的动画

Qt 制作可以使用鼠标操作的动画,qt,qml,Qt,Qml,我很难制作动画。 包括一些矩形,我想制作一个动画,两个矩形同时改变颜色。 但是我不知道怎么做 我用连续动画使它发生。但它不起作用。 另外,我想让这个动画发生在许多盒子里,我不知道如何按顺序制作。它应该在不同的时间工作 导入QtQuick 2.12 导入QtQuick.Window 2.12 窗口{ id:idWindow 可见:正确 宽度:1200 身高:800 长方形{ id:内容 锚定。填充:父级 颜色:“F0” 0.rightMargin:0 下边距:0 0.leftMargin:0 0.

我很难制作动画。 包括一些矩形,我想制作一个动画,两个矩形同时改变颜色。 但是我不知道怎么做

我用连续动画使它发生。但它不起作用。 另外,我想让这个动画发生在许多盒子里,我不知道如何按顺序制作。它应该在不同的时间工作

导入QtQuick 2.12
导入QtQuick.Window 2.12
窗口{
id:idWindow
可见:正确
宽度:1200
身高:800
长方形{
id:内容
锚定。填充:父级
颜色:“F0”
0.rightMargin:0
下边距:0
0.leftMargin:0
0.topMargin:0
纵队{
id:列表
垂直中心偏移量:-78
锚。水平中心偏移:-436
anchors.horizontalCenter:父级.horizontalCenter
anchors.verticalCenter:父级.verticalCenter
间距:10
长方形{
id:pf0
宽度:40
身高:40
半径:0
anchors.horizontalCenter:父级.horizontalCenter
边框宽度:1
正文{
正文:“pf-0”
anchors.centerIn:父对象
}
}
// ......
}
纵队{
id:列表1
x:4
y:-3
宽度:199
身高:241
垂直中心偏移量:-106
锚。水平中心偏移:-73
anchors.horizontalCenter:父级.horizontalCenter
间距:10
anchors.verticalCenter:父级.verticalCenter
长方形{
身份证号码:pa0
宽度:120
身高:40
半径:0
anchors.horizontalCenter:父级.horizontalCenter
边框宽度:1
正文{
正文:“第A0页”
anchors.centerIn:父对象
锚固件。水平中心偏移:3
0.VerticalCenter偏移:0
}
}
// ......
}
长方形{
id:矩形
x:794
y:370
宽度:200
身高:200
颜色:“5af751”
鼠耳{
锚定。填充:矩形
onPressed:playbanner.start()
}
顺序动画{
id:playbanner
跑步:对
彩色动画{
目标:pa0
来自:“白色”
致:“黑色”
持续时间:1000
} 
彩色动画{
目标:pf0
来自:“白色”
致:“黑色”
持续时间:1000
}
}
}
}
}
我希望当我单击矩形时,颜色应该改变。然而,这并不奏效

我还想知道,当有更多的盒子时,我如何使盒子按顺序改变颜色。

  • 第一件事是如果你想制作一个矩形颜色同时改变的动画,那么你应该使用ParallelAnimation而不是SequentialAnimation
  • 您需要从ColorAnimation中删除running属性或将其设置为false,因为您需要在单击矩形时发生动画,因此如果将running设置为true,则在加载组件时就会发生动画
  • 动画未运行的原因是您尚未在彩色动画中设置属性
检查以下代码:

ParallelAnimation {
    id: playbanner         
    ColorAnimation {
        target: pa0
        from: "white"
        to: "black"
        duration: 1000
        property: "color"
    }
    ColorAnimation {
        target: pf0
        from: "white"
        to: "black"
        duration: 1000
        property: "color"
    }
}
请看一看s。基本上,删除代码中与问题无关的部分。