Qt 如何禁用ScrollView

Qt 如何禁用ScrollView,qt,qml,scrollview,qtquick2,Qt,Qml,Scrollview,Qtquick2,我对我的列表视图使用滚动视图,但有时我需要禁用它 一个简单的例子如下: ScrollView { id: scroll ListView { model: DelegateModel { id: visualModel model: myModel //Model is set in the cpp delegate: Rectangle { ...

我对我的
列表视图使用
滚动视图
,但有时我需要禁用它

一个简单的例子如下:

ScrollView {
    id: scroll
    ListView {
        model: DelegateModel {
            id: visualModel
            model: myModel //Model is set in the cpp
            delegate: Rectangle {
                    ...
                Button {
                    onClicked { //Important part
                        scroll.flickableItem.interactive = false //It doesn't work 
                    }
                }
            }
        }
    }
}   
我怎样才能继续

如dtech所述,
ListView
具有内置的
Flickable
以便滚动,无需使用
ScrollView
。您还可以使用以下方法将
滚动条
添加到
列表视图

ScrollBar.vertical: ScrollBar {}
但是,如果您需要使用
滚动视图
作为您想要的老派外观和感觉,则没有记录在案的方法。实际上,在使用
QtQuick.Controls 1.x
时,您必须经常使用
控件的未记录属性

在这种情况下,您可以设置以下属性:

__horizontalScrollBar.enabled: false
__verticalScrollBar.enabled: false
__wheelAreaScrollSpeed: 0

再次说明:这没有文档记录,如果出现较新版本的
QtQuick.Controls 1.x
,则可能会发生更改,目前的重点是现代
QtQuick.Controls 2.x
的开发,它与
1.x
-版本的API不兼容。滚动列表视图不需要滚动视图。您可以将列表视图交互属性设置为false。您到底想禁用什么?如果将
列表视图
滚动视图
一起使用,则默认情况下,flickability处于禁用状态,afaik。那么什么应该停用,什么应该仍然有效?@dtech我需要为我的应用程序设置一个
滚动条@derM当列表中插入一个新项目时,新项目将在整个窗口上缩放,我不希望用户能够向下或向上滚动,直到他完成某项操作。所以我需要一个互动项目(禁用
ListView
对我不好),非常感谢你的回答。我决定迁移到
QtQuick.Controls 2.x
,因为我不想使用没有文档记录的函数。祝您今天过得愉快