qml 同步滚动
qt5.15版本中scrollView没有同步滚动信号。采用Flickable滑动的信号,在Flickable中使用ScrollBar自定义滚动条,滚动条可以附加到任何 Flickable。使用Flickable中的onContentYChanged和onContentXChanged信号,并且设置滚动方向flickableDirection: Flickable.HorizontalAndVerticalFlick,从而同步其他的Flickable。
https://blog.csdn.net/kenfan1647/article/details/122522063
Flickable{
id: flickable
width: parent.width-445
height: parent.height
// onVerticalVelocityChanged: leftFlickable.contentY = contentY
// onHorizontalVelocityChanged: ipHeaderFlickable.contentX = contentX
clip: true
//boundsBehavior: Flickable.StopAtBounds
contentWidth: frame.implicitWidth
contentHeight: frame.implicitHeight
//滚动方向
flickableDirection: Flickable.HorizontalAndVerticalFlick
// Keys.onUpPressed: vbar.decrease()
// Keys.onDownPressed: vbar.increase()
ScrollBar.vertical: ScrollBar {
id: vbar
orientation: Qt.Vertical
policy: ScrollBar.AsNeeded
}
//同步其他Flickable
onContentYChanged: {
leftFlickable.contentY = contentY
}
onContentXChanged: {
ipHeaderFlickable.contentX = contentX
}
ScrollBar.horizontal: ScrollBar {
id: hbar
orientation: Qt.Horizontal
policy: ScrollBar.AsNeeded
}
//内容
Column{
id: frame
width: parent.width
height: parent.height
Repeater{
id: ipList
model: local_ml_rep
...
}
}
}