3

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

滑块.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
}

}

4

2 回答 2

0

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

highlightMoveDuration : 200
highlightMoveVelocity : 1000

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

// 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 示例

于 2016-01-07T14:00:42.983 回答
0

关于另一个高亮移动属性的注释:如果要使用highlightMoveDuration而不是highlightMoveVelocity(highlightMoveSpeed在 Qt 4 中),则需要将后者设置为 -1:

highlightMoveDuration: 1000
highlightMoveVelocity: -1
于 2018-11-16T21:48:14.050 回答