在用到QML中的ScrollView时,我们常常会需要让滚动条自动滚动到某个位置,使得某些信息滚动到可视化区域,就可以用下面的方法让其滚动:
import Material 0.1
import QtQuick 2.4
import QtQuick.Layouts 1.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
Window {
width: 530
height: 300
ScrollView {
id:scroll
width: 530
height: 300
Rectangle {
id:rect
width: 500
height: 900
Rectangle {
id: rect1
anchors.top: rect.top
width: 500
height: 300
color: "red"
border.color: "blue"
}
Rectangle {
id: rect2
anchors.top: rect1.bottom
width: 500
height: 300
color: "green"
border.color: "blue"
}
Rectangle {
id: rect3
anchors.top: rect2.bottom
width: 500
height: 900
color: "orange"
border.color: "blue"
MouseArea {
anchors.fill: parent
onClicked: {
scroll.flickableItem.contentY = rect2.y
}
}
}
}
}
}
如上代码中,语句 scroll.flickableItem.contentY = rect2.y 表示当点击第三个矩形框时,自动将滚动条滚动到第二个矩形框进行显示。