-3

在 QML 中,滑动视图不是双向的。所以我需要一个滑动视图代码示例对我非常有益。我只需要在我的视图中保留 3 个项目,并且一次只有项目应该是可见的,并且在以左右任一方式滑动视图时,元素应该位于中心。

4

1 回答 1

1

这段代码解决了一半的问题这就是我发布答案的原因

import QtQuick 2.0

Item {
    property alias model: view.model
    property alias delegate: view.delegate
    property alias currentIndex: view.currentIndex
    property real itemHeight: 60

    clip: true

    PathView {
        id: view
        anchors.fill: parent
        snapMode: PathView.NoSnap
        pathItemCount: height/itemHeight
        preferredHighlightBegin: 0.5
        preferredHighlightEnd: 0.5
        dragMargin: view.width/5
        path: Path {
            startY: view.width/4; startX:-itemHeight/2 -50
            PathLine { y: view.width/4; x: (view.pathItemCount*itemHeight + 3*itemHeight) }
        }
    }
}

这是我的项目:

Item{
    id:widgetMain
    width :480
    height : 240
    property int  delegateHeight: widgetMain.height
    property int delegateWidth : widgetMain.width
    Spinner {
        id: spinner
        width: parent.width;
        height: parent.height;
        focus: true
        model: ["qrc:/Tile1.qml",
            "qrc:/Tile2.qml"
            ,"qrc:/Tile3.qml"]
        itemHeight: 150

        delegate: Loader {
            width: delegateWidth
            height: delegateHeight
            source: modelData
        }
    }
}

现在,如果我向任何方向滑动,它只会在视图中显示 1 个图块。& 当我的拖拽达到一半时,瓷砖会移除并移到最后。

在这里,我想显示一个瓷砖正在滑动并且第二个瓷砖从后面来(就像滑动视图一样)。

现在你能帮帮我吗?

于 2018-06-01T06:32:28.053 回答