import QtQuick 1.0
Rectangle
{
id: rect
width: 100; height: 100
color: "red"
property int hh:0
Text
{
text: hh
}
MouseArea
{
anchors.fill: parent
onPressed:
{
animation.start()
console.log(hh)
}
NumberAnimation
{
id: animation
target: rect
property: "hh"
to: 50;
duration: 1000
}
}
}
控制台上没有打印任何内容。 我知道hh
正在改变,但我希望同时在控制台上看到它的打印值。该怎么办?
答案 0 :(得分:3)
您的值hh在控制台上实际上是关联的,但只有一次,当按下鼠标时。因此,它第一次打印0(因为动画没有更改值并且是异步的),而其他时间都是50。
如果要打印hh
的所有中间值,只需处理此属性的更改信号:
import QtQuick 1.0
Rectangle
{
id: rect
width: 100; height: 100
color: "red"
property int hh:0
Text
{
text: hh
}
MouseArea
{
anchors.fill: parent
onPressed:
{
animation.start()
console.log(hh)
}
NumberAnimation
{
id: animation
target: rect
property: "hh"
to: 50;
duration: 1000
}
}
onHhChanged: console.log(hh)
}
为了完整性,请注意用于自定义自定义属性上的信号句柄的 camelize 语法约定。