【发布时间】:2019-02-15 16:28:55
【问题描述】:
我有一个列表视图和一个矩形。 ListView 的代表中有 DropAreas,并且矩形在 Y 轴上启用了拖动及其相关属性(热点、目标)。
当我在 ListView 上上下移动矩形时,代表的 DropAreas 正在注册 onEntered 信号。按预期工作。
但是,当矩形位于最顶部和底部坐标(list.y = 0 和list.height)时,我使用SmoothedAnimation 上下滚动列表。所以矩形没有移动,列表代表的DropAreas 在它下面移动。在这种情况下,onEntered 没有注册,因为没有拖动,矩形完全静止,虽然它的hotspot 进入和离开DropAreas,但没有交互。
这是因为拖动机制在移动时一直在发送事件,并且它进入的任何DropAreas 都可以注册该事件。就我而言,没有拖动,因此没有事件。
问题:拖动事件可以手动激活吗?我可以以某种方式模拟拖动吗?
【问题讨论】:
-
为什么需要它作为拖动事件?调用绑定到
onEntered的函数是不是就够了,还是真的依赖事件? -
我需要知道矩形何时进入列表的拖动区域并且列表以不同的速度滚动。
-
你能提供一些代码来玩吗?
-
从那以后你找到解决办法了吗?
-
对不起,在所有工作中都忘记了这个问题,发布了答案。
标签: drag-and-drop qml drag