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