首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何取消qt 4.6.3中的触摸事件?

如何取消qt 4.6.3中的触摸事件?
EN

Stack Overflow用户
提问于 2015-06-17 22:47:58
回答 1查看 528关注 0票数 1

Qt-4中没有像在Qt-5中那样的QEvent::TouchCancel标志,如何在Qt-4中模拟一个等效的事件?

背景:

我试图在Qt-4中实现基于描述的这里方法的动态滚动。

基本框架保持不变,但我将所有MouseEvent更改为TouchEvent

问题是,这段代码阻止了所有子部件上的QEvent::TouchBegin事件,并在手势被视为滚动时使用它作为滚动的开始,并在手势被视为点击时发布一对模拟的QEvent::TouchBeginQEvent::TouchEnd

因为QPushButton需要QEvent::TouchBegin来触发"press“的动画效果。这种方法,虽然使按钮仍然可用,消除了这种影响。

我试图通过保留QEvent::TouchBegin来解决这个问题,但是当手势被认为是滚动时取消它,当手势被认为是点击时发布一个QEvent::TouchEnd

问题是,如何取消QT-4中的触摸事件?

或者,如何在(0,0)?上构造一个触点

在我的应用程序中,没有(0,0)的小部件接受触摸事件,因此在(0,0)上发布一个QEvent::TouchEnd可以有效地使所有已启动的触摸事件无效。然而,Qt中的接触点没有一个可用于在任意位置生成人工触点的可用构造函数,这一解决方法似乎也相当困难。

最后,最后可能解决,将Qt-5中的QScroller类集成到Qt-4.6.3项目中有多难?

EN

回答 1

Stack Overflow用户

发布于 2015-06-19 05:06:05

这里有用于QT4.8的Qt5 QScroller代码的版本:https://qt.gitorious.org/qt-labs/kineticscroller

我成功地使用了它,直到升级到5。你至少应该升级到4.8。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30903781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档