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

时间:2015-06-25 04:51:25

标签: qt qml

目前我有一个带有网格的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 个答案:

答案 0 :(得分:3)

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