0

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)、または増加した場合パスから外れます。

4

1 に答える 1

0

解決済み : コンテナのサイズと長方形のサイズに応じて調整されたモデル値

于 2012-11-03T10:04:34.980 に答える