首页 文章

如何在保持Flickable功能的同时将可拖动项目放在Flickable中?

提问于
浏览
3

目前我有一个带有网格的Flickable . 网格拥有一堆正方形 . Flickable在这里很棒 . 我可以上下滚动查看我的所有方块 . 但现在我希望能够拖动我的Flickable中的方块 .

所以我添加了一个MouseArea并设置了适当的拖动目标 . 现在可以拖动方块了!然而,正方形似乎从Flickable窃取了鼠标事件 . 因此滚动Flickable的唯一方法是将鼠标光标拖动到方块之间的空间(非常难!)

这是我的代码:

Flickable {
    id: flickable
    contentHeight: grid.height
    anchors.fill: parent

    Grid {
        id: grid
        width: parent.width
        spacing: 2

        Repeater {
            id: repeater
            model: 40
            delegate: tile
        }
    }
}

Component {
   id: tile

   Rectangle {
       id: rect
       width: 128
       height: 128
       color: "black"

       MouseArea {
           id: mouseArea
           anchors.fill: parent
           drag.target: rect
       }
   }
}

任何帮助深表感谢 . 谢谢!

1 回答

  • 3

    感谢this post我收到了Flickable的pressDelay属性的提醒 . 这已经解决了我的问题!

相关问题