无法检测 MouseArea 是否位于 GridView 项目上

无法检测 MouseArea 是否位于 GridView 项目上

这个问题不是针对 Ubuntu 平台的,但由于我正在开发 Ubuntu Touch 应用程序,所以我想先在这里问一下。

我有一个排列在 GridView 中的 UbuntuShape 列表(由 ListModel 对象生成),以及一个带有 MouseArea 的 Rectangle 对象,我可以将其拖动到应用程序的 MainView 周围。我想要做的是,如果鼠标在 UbuntuShape 上释放矩形,它会执行与该 UbuntuShape 相关的操作。

考虑到:

  • 我无法为 ListView/GridView 的委托生成的每个对象分配一个 ID
  • 我无法使用 JavaScript 函数作为新 ListElement 的参数
  • 我无法动态地将项目添加到 Flickable/GridView 并使它们可滚动
  • entered如果 MouseArea 位于另一个 MouseArea 下,则无法使用其信号

我如何从 GridView 检测矩形是否位于特定的 UbuntuShape 上方?

答案1

听起来除了使用 MouseArea 之外,您还应该使用拖放功能,如下所示https://developer.ubuntu.com/api/apps/qml/current/QtQuick.Drag/

相关内容