【发布时间】:2015-06-25 04:51:24
【问题描述】:
目前我有一个带有网格的 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
}
}
}
非常感谢任何帮助。谢谢!
【问题讨论】:
-
在我看来,代码运行良好。它怎么可能区分尝试滚动
Flickable并在其上拖动项目的人?这不是通灵的。这是一个设计问题,显而易见的解决方案是为用户添加更多空间,以便更轻松地访问Flickable。