QMLでプログレスバーを開発しています。
ただし、すべてのパラメーター値に対して機能しているわけではありません。UIの論理的な問題のビット
全員に見直しを求める。
以下はコードスニペットです
Rectangle
{
width: 500; height: 480
.....
color: "lightyellow"
Rectangle {
id: container
....
Row {
id:repeaterid
Repeater {
id: repeater
model: 100
Item { id: smallrect2; opacity:0.5; width:_width; height:_height
Rectangle { id: smallrect; color: _newColor }
......
}
}
}
Timer {
id: progressTimer
interval: 100
onTriggered: {
if ((slider.x + slider.width) < repeaterid.width)
{
slider.x += _width
var item = repeater.itemAt(indexCurrent)
item._newColor = "red"
indexCurrent++
}
else
{
progressTimer.repeat = false
}
}
}
Rectangle {
id: slider
// Adjust the dimensions of slider
x: repeaterid.x
y: repeaterid.y
width: _width
height: _height
}
}
}
_width の値が 30 で、リピーターのモデル値が 18 の場合、目的の動作が達成されますが、値が減少すると、進行状況バーのスライダーがそのパスを完了しません (幅 = 5、モデル =100)、または増加した場合パスから外れます。