我想了解以下问题:
如何在声明性 QML 语言中存储属性的先前值?
任务是在更改之前将属性值记忆到另一个属性。问题在于现有的信号机制onPropertyNameChanged()。此机制在修改后发出有关属性更改的信号。而在这个处理程序中,不可能获得该属性的先前值来记住它。
最好看代码示例。
有趣的问题。我看到的唯一方法有点愚蠢:
Item {
id: item
property int prev: 0
property int temp: value
property int value: 0
onValueChanged: {
prev = temp;
temp = value;
console.log("prev=" + prev);
console.log("value=" + value)
console.log("---------------");
}
Timer {
interval: 1000
repeat: true
running: true
onTriggered: {
item.value = Math.round(Math.random() * 1000);
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1254 次 |
| 最近记录: |