几个月后,直接在ListView项中我们可以使用ScrollBar.vertical:ScrollBar {}来提供适当的滚动条 . 不幸的是,它本身并不适合我,所以我决定用ScrollView包围项目中的每个ListView,现在它工作正常,除了一件事:
import QtQuick 2.9
import QtQuick.Controls 2.2
//import QtQuick.Controls 1.4
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Scroll")
ScrollView {
anchors.fill: parent
ListView {
anchors.fill: parent
model: 20
delegate: Text {
text: "Item " + (index + 1)
height: 50
width: parent.width
}
}
}
}
在上面的示例中,我无法使用触摸事件来滚动视图 . 我正在使用Windows 10,如果我使用来自QtQuick.Controls 1.4或QtQuick.Controls 2.2的ScrollView并不重要 . 如果我按住鼠标按钮,视图将不会跟随鼠标移动就像它一样仅在ListView的情况下 .
有没有办法为这种处理滚动条的特定方法恢复此行为?
1 回答
使用
Flickable { }
而不是ScrollView
.*** EDIT ***
Flickable {}
允许用户使用触摸事件(如轻弹,拖动等)左右滚动 .它专为触摸屏而设计 . 您可以像使用ScrollView {}一样使用它作为容器类 .