Qt6中的输入事件

Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。赶快点击下载Qt6最新试用版>>

工具推荐:

  • QtitanRibbon下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart | 下载试用 :是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面操作系

Qt Quick中鼠标和触摸事件的传递是很复杂的,几年前我们就清楚地意识到,我们需要重构事件继承层次结构,为各种事件类型提供一些通用的API,以便共享更多的传递代码。在Qt 5.8中,我们添加了QQuickPointerEvent和相关的类型,以此作为原型。它们是QObjects;从那时起,QQuickWindow就开始交付这些包装器事件,里面携带着原始事件。现在终于在Qt 6中,我们能够完成QEvent的重构,这样QQuickWindow就不再需要包装器了。与此一起,我们还能够增加一些功能,并修复一些bug。剩下的许多在 Qt 5 中看起来难以解决的 bug 至少在以后应该可以修复。

QPointerEvent和QEventPoint

现在,继承层次结构如下所示:

QPointerEvent是一个新的抽象类型,适用于所有来自指向设备(鼠标、触摸屏、平板电脑手写笔)的事件。它拥有通用的API,能够以设备无关的方式处理所有这些事件。由于QTouchEvent可以在一个事件中携带多个触摸点,我们将这个概念标准化:每个QPointerEvent都可能代表一个QEventPoint实例的集群(即使大多数事件只携带一个点),因此具有适当的API:point()、point(i)和pointCount()。
每个QInputEvent(包括QPointerEvent)都携带一个指向它来自的QInputDevice的指针。这允许事件处理代码以特定设备的方式进行响应,即使在处理合成鼠标事件时也是如此。

每个QEventPoint都有速度。Qt Quick 在 Qt 5 中使用的 Kalman 过滤器已经被移到了 QtGui 中,因此无论事件在哪里传递,都可以得到最近几次移动的平均速度。这使得对速度敏感的行为(如区分慢速拖动和快速轻弹,或对特定

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值