2

Flickable在一列中有两个,当用户滚动第二个 Flickable 时,我想垂直滚动第一个 Flickable。

Rectangle { 
id: root
anchors.fill: parent

Flickable {
  id: first
  anchors.left: parent.left
  width: parent.width/2 
  height: parent.height

  // Rest of the Contents
  // I have also some TextFields and ComboBoxs here
}

Flickable {
  id: second
  anchors.left: first.right
  width: parent.width/2
  height: parent.height

  onFlickEnded: {
    first.contentY = second.contentY;
  }

  // Rest of the Contents
  // I have also some TextFields and ComboBoxs here
}

}

我可以通过使用onFlickEnded事件来做到这一点,这是正确的方法吗?当用户单击并拖动并使用鼠标滚轮仅具有滚动效果时,如何禁用轻弹效果?

我应该改用 ScrollView,但我不能像使用 Flickable 那样滚动它。

4

2 回答 2

0

使用 onFlickStarted 您可以立即在您想要禁用的 flickable 上调用 cancelFlick()。然后使用 onContentYChanged 处理它。

于 2021-11-12T17:34:54.803 回答
-2

将“interactive”设置为 false 应该禁用轻弹。

您可以使用“onContentYChanged”代替“onFlickEnded”。

于 2020-06-02T12:30:54.840 回答