SwipeView发布时检测事件QML-QT

SwipeView发布时检测事件QML-QT,qt,qml,touch,cross-platform,slide,Qt,Qml,Touch,Cross Platform,Slide,我需要检测用户何时从屏幕上松开手指。 我正在用SwipeView做一个应用程序,但当手指从屏幕上移开时,我还需要检测最小滑动 有什么方法可以做到这一点?或者,如果我检测到手指何时离开应用程序窗口上的屏幕。 谢谢。我想对于您的应用程序来说,最好的方法是使用具有水平方向的ListView,而委托是一个“页面”,现在您可以检测 ListView继承自Flickable,您现在可以检测鼠标事件。 我想应用程序的最佳方法是使用水平方向的ListView,委托是一个“页面”,现在您可以检测 ListView

我需要检测用户何时从屏幕上松开手指。 我正在用SwipeView做一个应用程序,但当手指从屏幕上移开时,我还需要检测最小滑动

有什么方法可以做到这一点?或者,如果我检测到手指何时离开应用程序窗口上的屏幕。
谢谢。

我想对于您的应用程序来说,最好的方法是使用具有水平方向的ListView,而委托是一个“页面”,现在您可以检测

ListView继承自Flickable,您现在可以检测鼠标事件。

我想应用程序的最佳方法是使用水平方向的ListView,委托是一个“页面”,现在您可以检测

ListView继承自Flickable,您现在可以检测鼠标事件。

在学习QML的一开始,我遇到了一个类似的问题:我希望在不干扰应用程序其余部分的情况下检测鼠标事件

这可能不是正确的解决方案,可能是非常糟糕的风格或黑客,但它的工作,并可能会帮助你

的想法是构建一个C++项目,我用它作为父节点,以我想要监视它们的鼠标事件的所有节点。在此

项中
我通过如下方式重新实现它来钩住:

bool MouseEventListener::childMouseEventFilter(QQuickItem *item, QEvent *event)
{
    emit mouseEventHappend();
    event->ignore(); // Don't know if that is right. I think I should not have it here.
    return QQuickItem::childMouseEventFilter(item, event);
}
在这个解决方案中,我不检查我得到了什么类型的鼠标事件,但您可以根据它发出不同的信号。
如果在触摸设备上使用,您可能会对以下两个事件感兴趣:

检查
QEvent.type()
以正确处理它们。有趣的类型有:

  • QEvent::MouseButtonPress
  • QEvent::MouseButtonRelease
  • QEvent::MouseMove
  • QEvent::TouchBegin
  • QEvent::TouchCancel
  • QEvent::TouchEnd
  • QEvent::TouchUpdate
更多:


尤其是触摸事件提供了关于手势开始和手指运动最后一条腿的良好信息,这可能会引起您的兴趣

在学习QML的一开始,我遇到了一个类似的问题:我想在不干扰应用程序其余部分的情况下检测鼠标事件

这可能不是正确的解决方案,可能是非常糟糕的风格或黑客,但它的工作,并可能会帮助你

的想法是构建一个C++项目,我用它作为父节点,以我想要监视它们的鼠标事件的所有节点。在此

项中
我通过如下方式重新实现它来钩住:

bool MouseEventListener::childMouseEventFilter(QQuickItem *item, QEvent *event)
{
    emit mouseEventHappend();
    event->ignore(); // Don't know if that is right. I think I should not have it here.
    return QQuickItem::childMouseEventFilter(item, event);
}
在这个解决方案中,我不检查我得到了什么类型的鼠标事件,但您可以根据它发出不同的信号。
如果在触摸设备上使用,您可能会对以下两个事件感兴趣:

检查
QEvent.type()
以正确处理它们。有趣的类型有:

  • QEvent::MouseButtonPress
  • QEvent::MouseButtonRelease
  • QEvent::MouseMove
  • QEvent::TouchBegin
  • QEvent::TouchCancel
  • QEvent::TouchEnd
  • QEvent::TouchUpdate
更多:


尤其是触摸事件提供了关于手势开始和手指运动最后一条腿的良好信息,这可能会引起您的兴趣

我没有询问滑动内容的最佳模式…mi问题询问如何从SwipeView检测释放触摸事件使用此方法您可以通过此信号检测您的触摸释放:我认为您无法使用SwipeView检测鼠标释放,这就是为什么我向您提出另一个解决方案…谢谢,但这并不能回答我的问题……否则我会使用Flickable控制器。我需要使用SwipeView我没有询问滑动内容的最佳模式…mi问题询问如何从SwipeView检测释放触摸事件使用此方法您可以通过此信号检测您的触摸释放:我不认为您可以使用SwipeView检测鼠标释放,这就是我向您提出另一个解决方案的原因…谢谢,但这并不能回答我的问题……否则我会使用Flickable控制器。我需要使用SwipeView