在QML中,滑动视图不是双向的。所以我需要滑动视图 代码示例对我非常有益。 我需要在我的视图中只保留3个项目。在一次只有项目应该是可见的&在以任一方式滑动视图时,左侧或右侧元素应位于中心。
答案 0 :(得分:0)
此代码解决了一半的问题这就是我发布答案的原因
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个图块。 &安培;当我的拖动到达一半时,瓷砖将移除&转移到最后。
在这里,我想显示一个瓷砖正在滑动&第二块瓷砖来自后面(就像一个滑动视图)。
现在可以帮助我吗?