无论listview中的元素数量多少,我都试图使滚动条保持恒定。但我没有找到任何财产来做这件事。请建议如何做到这一点。提前谢谢。
代码段:
Listview {
id:mylistview
height :400
Width:500
ScrollBar.vertical: scbr
model :mymodel
delegate:del{}
}
ScrollBar
{
id: scbr
active: true
interactive : true
hoverEnabled: true
orientation :Qt.vertical
snapMode : ScrollBar.NoSnap
contentItem:
Rectangle {
implicitWidth: 60
implicitHeight: 100
color: "#ff0000"
}
}
这里甚至我们设置implicitWidth是60.但是当模型具有非常大的数据时,滚动条图像将其高度更改为非常小。
答案 0 :(得分:0)
我创建了一个滚动条,它更像是一个滚动指示器,因为它无法控制视图。它的位置可以指示您的观看当前位置相对于完整内容。
让我们考虑一个代表高度为“h”的列表。您可以创建一个具有所需高度和宽度的矩形(例如,高度为100,宽度为60,如示例所示)。
x坐标 - >列表宽度 - 滚动指示符的宽度(本例中为60)
y坐标将是相对属性 (list.contentY *(list.height-indicator.height))/(list.height - delegate.height)
示例如下:
Rectangle {
id: indicator
x: 0
y: ((list.contentY) * (list.height - indicator.height)) / (list.height - delegate.height)
width: 10
height: 150
color: "blue"
radius: 10
}
其中list是列表的id,delegate是视图中的delegate的id。
我不确定它是否适合您的确切目的但我必须以这种方式继续前进,以达到保持固定大小滚动条的类似要求。