gpt4 book ai didi

qt - QML ListView 过度滚动

转载 作者:行者123 更新时间:2023-12-02 04:39:39 25 4
gpt4 key购买 nike

我有一个如图所示的水平 ListView initial state

现在,当我滚动它时, ListView 会过度滚动,如下图所示 overscoll

我真正需要的是即使拖动更多,最后一个元素应该留在最后,如下图所示correct scroll

我该怎么做。

编辑

ListView 源

ListView{

id: list
width: 500
height: 100
clip: true
//anchors.bottom: parent.bottom
//anchors.bottomMargin: 10
snapMode: ListView.SnapToItem
anchors.centerIn: parent
highlightRangeMode: ListView.StrictlyEnforceRange
highlightFollowsCurrentItem: true
highlight: Rectangle { color: "#00000000" ;border.color: "red" ; radius: 5 }
anchors.horizontalCenter: parent.horizontalCenter
orientation: ListView.Horizontal
model: ListModel{
id: listModel
ListElement{ name: "File"}
ListElement{ name: "Edit"}
ListElement{ name: "Build"}
ListElement{ name: "Debug"}
ListElement{ name: "Analyze"}
ListElement{ name: "Tools"}
ListElement{ name: "Window"}
ListElement{ name: "Help"}
}

delegate: Button{
borderColor: buttonBorderColor;buttonColor: buttonFillColor
width: 100;height: 100 ;labelSize: 18
label: model.name
onButtonClick: {
list.currentIndex = model.index;
console.log("ListView Button clicked" + model.index)
}
}
}

最佳答案

您需要通过设置其 boundsBehavior 属性告诉 ListView 在对象边界处停止:

boundsBehavior: Flickable.StopAtBounds

默认情况下,继承 Flickable 的对象越过边界并向后移动。

参见 boundsBehavior property description在 Qt 网站上。

关于qt - QML ListView 过度滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21135845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com