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
,因为我不想使用没有文档记录的函数。祝您今天过得愉快