Qml 的滚动条
Posted
技术标签:
【中文标题】Qml 的滚动条【英文标题】:ScrollBar at Qml 【发布时间】:2014-02-27 23:10:42 【问题描述】:我正在尝试为包含自动生成的矩形的矩形创建一个滚动条,如果没有更多的矩形可供查看,我希望滚动条在我向下滚动时停止,向上滚动也是如此,我已经搜索了互联网并发现大多数示例都在谈论 listview 而我没有使用它,我尝试使用 Flickable 组件但它对我没有用
这是我的代码:
Flickable
id: flickArea
anchors.fill: parent
contentWidth: cRects.createRects(w).width; contentHeight: cRects.createRects(w).height
flickableDirection: Flickable.VerticalFlick
clip: true
Rectangle
id: rectangle17
x: 127
y: 107
width: 200
height: 200
color: "#ffffff"
opacity: 0
Item
id: cRects
function createRects(w)
var z = 10
var t = 20
var itemList = []
/* if(w == 2)
z = 60*/
for (var i = 0; i < w; i++)
itemList[i] = Qt.createQmlObject(
'import QtQuick 2.0; Rectangle width: 325; height: 35;'
+ ' x: ' + t + '; y: ' + z + '; color: "#ffffff"; radius: 32; border.width: 2; border.color: "#ada9a9" ',
rectangle17, "createItems()");
z = z + 40
// t = t - 40
return itemList
//property variant items: cRects.createItems()
关于如何解决这个问题的任何想法
谢谢
【问题讨论】:
看看@TheBootro 的这个例子:***.com/a/17876641/1606729 我在发布问题之前看到了它,但这仅适用于 listview 和 gridview(源自 flickable 的项目),但不适用于我的情况 这个例子明确讲Flickable
【参考方案1】:
今天我无法帮助您,因为我无法访问我的计算机中的 QT,明天在工作中将尝试看看,但只是查看文档,
boundsBehavior:枚举
此属性控制是否可以将表面拖动到 Fickable 的边界之外,或者在轻拂时超出 Flickable 的边界。 这可以让人感觉视图的边缘是柔和的,而不是硬的物理边界。 boundsBehavior 可以是以下之一:
Flickable.StopAtBounds - 内容不能拖出flickable的边界,并且flicks不会过冲。
Flickable.DragOverBounds - 可以将内容拖出 Flickable 的边界,但不会超出 Flickable。
Flickable.DragAndOvershootBounds(默认)- 内容可以拖出 Flickable 的边界,并且可以在轻弹时越过边界。
来自:http://qt-project.org/doc/qt-4.8/qml-flickable.html#atYEnd-prop
【讨论】:
以上是关于Qml 的滚动条的主要内容,如果未能解决你的问题,请参考以下文章