繁体   English   中英

尝试增加进度时绑定循环错误

[英]Binding Loop Error While Trying to Increment Progress

我试图通过单击鼠标区域在进度条上显示增量更改。 单击鼠标区域后,下面的代码编译进度栏并将其值从0更改为0.25。 但是这种改变不是永久的。 我试图将当前每次点击增加0.25。 我知道我的代码仅将每次点击的值设置为正.25。 我不知如何在没有全局变量的情况下增加进度条的变化。 我加入了过渡,以确保状态更改是不可逆的,代码仍然可以编译并运行。 有两个问题。

  1. 我的更改在可见的进度栏中不是永久的
  2. 我的增量不会增加总价值,它们是奇异的价值分配
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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM