qt触控板手势检测

这篇具有很好参考价值的文章主要介绍了qt触控板手势检测。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、代码在mac上经过测试无问题;
2、windows上面支持双指上下、左右滑动检测,不支持缩放手势检测;
3、窗口为popup模式下,不支持QEvent::NativeGesture事件;文章来源地址https://www.toymoban.com/news/detail-699524.html

1、检测双指上下滚动、左右滚动

bool WBScreenShotDialog::event(QEvent *event)
{
    if (event->type() == QEvent::Wheel) {   // 双指滚动
        QWheelEvent *wheel = static_cast<QWheelEvent *>(event);
        if (wheel->phase() != Qt::ScrollEnd) {
            QPointF angleDelta = wheel->angleDelta();  //滚轮度数的增量
            qreal xOffset = angleDelta.x();
            qreal yOffset = angleDelta.y();
            /// y轴缩放:y轴变动大于0,且y轴变动大于x轴
            bool yZoom = (qAbs(yOffset) > 0) && (qAbs(yOffset) > qAbs(xOffset));
            if (yZoom) {    /// 触控板Y方向滚动(双指滑动)
                updateImageSize(yOffset > 0 ? 1.02 : 0.98);
                updateRect();
                update();
            } else {    /// 触控板X方向滚动(双指滑动)

            }
        }
        return true;
    }
    return QDialog::event(event);
}

2、双指放大、缩小检测

bool WBScreenShotDialog::event(QEvent *event)
{
    if (event->type() == QEvent::NativeGesture) {  /// 双指缩放
        QNativeGestureEvent *nge = static_cast<QNativeGestureEvent *>(event);
        if (nge->gestureType() == Qt::ZoomNativeGesture) {
            double factor = nge->value() * 100;
            if (factor != 0.){
                updateImageSize(factor > 0 ? 1.02 : 0.98);
                updateRect();
                update();
            }
        }
        return true;
    }
    return QDialog::event(event);
}

到了这里,关于qt触控板手势检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MacBook 触控板实现鼠标中键操作

            在某些场合,鼠标中键可以大大提高工作效率。比如我在服务器中实现复制粘贴的操作就需要使用鼠标中键来完成。macbook的一大亮点是其功能强大的触控板,但是它自带功能是不支持鼠标中键的操作的,这时候单独为此去购买鼠标就显得十分难受。         之

    2024年04月15日
    浏览(101)
  • 苹果配件妙控鼠标、键盘、触控板值得入手吗

    大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq 苹果的优质和成功绝对不止于它的个人电脑 Mac 和手机 iphone,更在于它的生态,在于

    2024年02月03日
    浏览(56)
  • 华硕笔记本触控板设置 Smart Gesture 与无线鼠标

    华硕笔记本的触控板有可能不能用双指上下滑动界面,可以通过安装华硕官方提供的Smart Gesture来进行设置。 安装使用之后可能会遇到一些问题: Q1: Win10更新后华硕Smart Gesture无法使用怎么办? A1: https://www.win10zjb.com/win10jc/11223.html] 下载驱动:https://www.asus.com.cn/supportonly/fh5900

    2024年02月12日
    浏览(64)
  • 小米路由器mini版真机图评测:神似苹果触控板

    没错,这就是小米的那款廉价版路由器小米路由mini版,卖129元。雷军说会要争取在5月份量产,这周五开始小范围内测。在小米总部,硬件再发明找到了一台4月份刚刚出厂的mini版小米路由,据说软件功能还在完善,连这个外形细节最终都有可能修改。不过,这不妨碍我们先拆

    2024年02月06日
    浏览(44)
  • MAC QT开发攻略

    由于clion需要使用cmake构建 Ninja Ninja下载 Clion 2023.1.3 破解版安装教程,亲测有效! 更改CMake生成器 CMake Build Configuration 添加运行参数: CMakeCache.txt:CMake会在这个文件中进行缓存,与生成器无关; CMakeFiles:包含由CMake在配置期间生成的临时文件; cmake_install.cmake:CMake脚本处理

    2024年02月11日
    浏览(40)
  • QT 触控事件和鼠标事件的分离(问题已解决)

    问题:QT图形视图框架,QGraphicsScene中默认接收触控事件,会将第一个点当作鼠标事件处理。 在开发者开发的时候,可能会有这样的需求,希望自己的触控事件和鼠标事件能够分割开来。 找到的解决方法: 方案一: 问题没有解决,修改这两个参数,也无法让QT的触控单击事件

    2024年02月16日
    浏览(37)
  • Vue中实现Web端鼠标横向滑动和触控板滑动效果

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在Web端,我们经常需要实现鼠标横向滑动和触控板滑动的效果,以便在页面中展示横向滑动的内容。本文将介绍如

    2024年02月13日
    浏览(43)
  • vue中通过JavaScript实现web端鼠标横向滑动&触控板滑动效果-demo

    JavaScript实现web端鼠标横向滑动触控板滑动效果  支持鼠标拖动滑动触控板滑动效果 web端实现滑动,就是对鼠标按下、鼠标松开、鼠标移动事件进行监听 在Vue中实现鼠标横向滑动触控板滑动效果可以通过以下步骤实现: 首先在Vue中创建一个父组件,在该组件中引入子组件或者

    2024年02月15日
    浏览(37)
  • Qt实现桌面画线、标记,流畅绘制,支持鼠标和多点触控绘制

    经常会在网上直播讲课或者点评中看到可以在课件上或者桌面上进行画线标记划重点,其实实现并不难,原理就是在桌面上盖一个透明图层,然后根据鼠标点绘制曲线。 今天分享如何通过Qt的QGraphics体系来实现这个功能,以前的文章已经介绍过使用Qt进行曲线绘制及相关原理

    2024年02月15日
    浏览(48)
  • Qt 动态手势识别“握拳”

    通过Qt实现手势识别控制软件操作相关系列技术方案 (一)Qt 将某控件、图案绘制在最前面的方法,通过QGraphicsScene模块实现 (二)Qt QGraphicsScene模块实现圆点绘制在所有窗体的最前方,实现圆点的“彩色拖尾”效果以及“选中方框”效果 (三)Qt 动态手势识别“握拳” (四

    2024年02月11日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包