当前位置: 首页 > news >正文

完整教程:Windows Pad平板对 Qt 的支持

        Qt 对 Windows 平板(包括二合一设备)的支持非常出色且成熟。这主要得益于 Qt 强大的跨平台抽象能力和对 Windows 原生触控 API 的深度集成。

1. 核心支持:Qt 输入事件模型

Qt 将所有用户交互(鼠标、触摸、手写笔、手势)都统一封装成了 QInputEvent 及其子类。这使得开发者可以用一套逻辑处理多种输入方式,极大地简化了开发。

a) 点击与触摸 (Touch Events)
  • 支持级别原生支持

  • 事件类型

    • QTouchEvent: 封装了多点触控信息。每个触点都是一个 QTouchEvent::TouchPoint,包含了位置、压力、面积等信息。

    • QMouseEvent: 为了向后兼容,默认情况下,Windows 上的触摸操作也会被模拟成鼠标事件。比如,手指按下会生成 QEvent::MouseButtonPress

  • 如何处理

    • 方法一(推荐):启用原生触摸事件。在你的窗口或部件上设置以下属性,这样 Qt 就会产生原生的 QTouchEvent 而不是模拟鼠标事件。

      cpp

      yourWidget->setAttribute(Qt::WA_AcceptTouchEvents);

      然后重写 bool event(QEvent *event) 函数来处理 QEvent::TouchBeginQEvent::TouchUpdateQEvent::TouchEnd

    • 方法二:使用手势 API(见下文)。

    • 方法三:依赖模拟的鼠标事件。对于简单的点击操作,这已经足够了,但你无法获得多点触控的优势。

基础触摸配置
#include 
#include 
class TouchWidget : public QWidget
{
protected:bool event(QEvent *event) override{switch (event->type()) {case QEvent::TouchBegin:qDebug() << "Touch Begin";return true;case QEvent::TouchUpdate:qDebug() << "Touch Update";return true;case QEvent::TouchEnd:qDebug() << "Touch End";return true;case QEvent::TouchCancel:qDebug() << "Touch Cancel";return true;case QEvent::Gesture:return gestureEvent(static_cast(event));default:break;}return QWidget::event(event);}bool gestureEvent(QGestureEvent *event){if (QGesture *pan = event->gesture(Qt::PanGesture)) {auto *panGesture = static_cast(pan);qDebug() << "Pan gesture:" << panGesture->delta();}if (QGesture *pinch = event->gesture(Qt::PinchGesture)) {auto *pinchGesture = static_cast(pinch);qDebug() << "Pinch gesture - scale:" << pinchGesture->scaleFactor();}if (QGesture *swipe = event->gesture(Qt::SwipeGesture)) {auto *swipeGesture = static_cast(swipe);qDebug() << "Swipe gesture - angle:" << swipeGesture->swipeAngle();}return true;}
};
多点触控支持
class MultiTouchWidget : public QWidget
{
protected:bool event(QEvent *event) override{if (event->type() == QEvent::TouchBegin ||event->type() == QEvent::TouchUpdate ||event->type() == QEvent::TouchEnd) {QTouchEvent *touchEvent = static_cast<
http://icebutterfly214.com/news/25160/

相关文章:

  • 深入解析:仿mudou——Connection模块(连接管理)
  • C语言“变量”与Python“Name”:跨语言核心概念及内存模型辨析
  • 深入解析:Git Commit Message 最佳实践:从一次指针Bug说起
  • 【技术术语】蓝绿部署
  • 焊接机械手气体节能小秘诀
  • 2025年油溶性染料订做厂家权威推荐榜单:PET染料/透明红B/水性荧光示踪剂源头厂家精选
  • P8592 『JROI-8』颅脑损伤 2.0(加强版) 题解
  • 开源 C++ QT QML 开发(十三)多线程 - 实践
  • 从零开始学Flink:实时流处理实战 - 教程
  • 2025年搓管机全套管实力厂家权威推荐榜单:旋挖全套管/全回转钻机全套管/全回转全套管源头厂家精选
  • unt
  • 2025年改善睡眠设备专业推荐排行榜:科技助力健康生活
  • 2025年陕西叛逆少年管教机构权威推荐榜单:叛逆孩子改变/叛逆孩子矫正/叛逆孩子教育源头机构精选
  • 2025年悬挑楼梯公司推荐榜:Top5厂家全面评测与选择攻略
  • 第一个图形界面程序 -- 简单示例
  • TENGJUN-3.5MM耳机插座(JA06-BPF032-A):反向沉板结构下的4极音频连接解决方案 - 教程
  • 高性能计算-CUDA-mma-PTX
  • 2025年口碑好的GEO(AI搜索优)服务商解析与推荐
  • 2025年冷风机价格实力厂家权威推荐榜单:移动冷风机/大功率冷风机/节能冷风机源头厂家精选
  • 将 Zabbix 的数据导入到 Grafana 中进行可视化
  • 2025年质量好的煤炭化验设备品牌厂家排行榜
  • 2025年专业的电缆温升试验机厂家最新用户好评榜
  • 2025年有实力鲍鱼饲料超微粉碎机品牌厂家排行榜
  • 2025年优秀的金属光纤槽道厂家选购指南与推荐
  • 2025年诚信的短视频运营高评价厂家推荐榜
  • 2025年靠谱的宿舍铁床款式高评价厂家推荐榜
  • 2025年诚信的迷你便携式烟灰缸厂家最新权威推荐排行榜
  • 2025年评价高的不锈钢门工程门厂家推荐及选择指南
  • 2025年优质的造型铝方通厂家最新实力排行
  • 2025年评价高的高速高压旋转接头行业内知名厂家排行榜