qml listview提高了更改项目的速度

时间:2013-06-20 14:23:49

标签: qt qml

我有一个listview,如何更改更改项目的速度,尝试使用highlightMoveSpeed(highlightMoveDuration),但这不起作用 有没有办法增加spped

slider.qml

import QtQuick 1.0

Rectangle {
id: slider
anchors.fill: parent

Component {
    id: pageDelegate

    Rectangle {
        id: page

        height: parent.height



        Component.onCompleted: page.width = slider.width

        Rectangle { 
            anchors.fill: parent
            // anchors.margins: 15

            Image{
                anchors.top: parent.top
                anchors.fill: parent
                source: modelData
            }   
        }
    }
}

ListView {
    id: list_model
    anchors.fill: parent
    model: modelData
    delegate: pageDelegate
    orientation: ListView.Horizontal
    snapMode: ListView.SnapToItem
    spacing: 5
    highlightMoveSpeed: 10000000
}

}

2 个答案:

答案 0 :(得分:0)

您可以使用默认突出显示并设置其速度,例如

highlightMoveDuration : 200
highlightMoveVelocity : 1000

或者,如果您使用自定义突出显示,请让突出显示组件处理该行为。 E.g。

// Set the highlight delegate. Note we must also set highlightFollowsCurrentItem
// to false so the highlight delegate can control how the highlight is moved.
highlightFollowsCurrentItem: false
highlight: Rectangle {
    y: myListView.currentItem.y;
    Behavior on y {
        SmoothedAnimation {
            easing.type: Easing.Linear
            duration:200;
            maximumEasingTime:300
            velocity : 1000
        }
    }
}

检查qt highlight example

答案 1 :(得分:0)

关于另一个突出显示移动属性的说明:如果要使用highlightMoveDuration而不是highlightMoveVelocity(在Qt 4中为highlightMoveSpeed),则需要将后者设置为-1:

highlightMoveDuration: 1000
highlightMoveVelocity: -1