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 的滚动条的主要内容,如果未能解决你的问题,请参考以下文章

寻找 QML 滚动条组件

当 QML 滚动条位于底部并且窗口高度被调整大小时,它不会更新

QML TableView 禁用水平滚动条

Flat风格的Qml滚动选择条

如何在 QML 中为矩形创建滚动条

带有自定义滚动条的 QML Listview