尝试增加进度时出现绑定循环错误
Binding Loop Error While Trying to Increment Progress
我试图通过单击鼠标区域在进度条上显示增量更改。单击鼠标区域后,下面的代码编译并将进度条的值从 0 更改为 0.25。但这种变化不是永久性的。我试图将每次点击的电流增加 0.25。我知道我的代码只是将每次点击的值设置为正 .25。我只是不知道如何在没有全局变量的情况下增加进度条的变化。我包含了转换以确保状态更改是不可逆的,代码仍然可以编译和运行。有两个问题。
- 我的更改在可见进度条中不是永久性的
- 我的增量不增加总值,它们是单值赋值
ProgressBar{
id: progressBar
height: 20
anchors.top: parent.top
anchors.topMargin: 100
anchors.horizontalCenter: parent.horizontalCenter
opacity: 1
value: 0
states: State{
name: "PressedAlso"
when: mouseArea.pressed == true
PropertyChanges{
target: progressBar
value: + 0.25
}
}
transitions: Transition {
from: ""; to: "PressedAlso"; reversible: false
}
}
你的状态PressedAlso
表示:当鼠标键按下时,值为0.25。否则,该值隐式为 0。
如果你想通过按下鼠标按钮增加 0.25,你可以在 MouseArea
:
中使用 onPressed
属性
MouseArea {
anchors.fill: parent
id: mouseArea
onPressed: progressBar.value += 1
}
我试图通过单击鼠标区域在进度条上显示增量更改。单击鼠标区域后,下面的代码编译并将进度条的值从 0 更改为 0.25。但这种变化不是永久性的。我试图将每次点击的电流增加 0.25。我知道我的代码只是将每次点击的值设置为正 .25。我只是不知道如何在没有全局变量的情况下增加进度条的变化。我包含了转换以确保状态更改是不可逆的,代码仍然可以编译和运行。有两个问题。
- 我的更改在可见进度条中不是永久性的
- 我的增量不增加总值,它们是单值赋值
ProgressBar{
id: progressBar
height: 20
anchors.top: parent.top
anchors.topMargin: 100
anchors.horizontalCenter: parent.horizontalCenter
opacity: 1
value: 0
states: State{
name: "PressedAlso"
when: mouseArea.pressed == true
PropertyChanges{
target: progressBar
value: + 0.25
}
}
transitions: Transition {
from: ""; to: "PressedAlso"; reversible: false
}
}
你的状态PressedAlso
表示:当鼠标键按下时,值为0.25。否则,该值隐式为 0。
如果你想通过按下鼠标按钮增加 0.25,你可以在 MouseArea
:
onPressed
属性
MouseArea {
anchors.fill: parent
id: mouseArea
onPressed: progressBar.value += 1
}