[QT/C++]如何得知鼠标事件是由触摸事件转换而来的,使得鼠标触摸事件分离

依据来源:https://doc.qt.io/qt-5/qml-qtquick-mouseevent.html

具体是在event事件或者mouse系列事件中捕获到鼠标事件后,用如下代码判断鼠标事件是否由触摸事件转换而来的

复制代码
    if(mouseEvent->source()==Qt::MouseEventSynthesizedBySystem){
        qDebug()<<"是由触摸事件转换而来的";
    }

通过该条件的一律返回,剩下的就是不由触摸事件生成的鼠标事件,由此做到鼠标与触摸事件的分离,使得触摸事件引起的鼠标事件不再干扰判断

更多信息从依据来源中抽取出来后如下,翻译由网易翻译完成。

此属性保存鼠标事件的源。

鼠标事件源可用于区分真正的鼠标事件和人工鼠标事件。当使用其他指向设备(如触摸屏和图形平板)时,如果应用程序没有使用实际的触摸或平板事件,则鼠标事件可能由操作系统或Qt本身合成。

取值可以是:

Qt.MouseEventNotSynthesized -最常见的值。在这些信息可用的平台上,该值表示该事件代表来自系统的真正鼠标事件。

Qt.MouseEventSynthesizedBySystem -指示鼠标事件是由平台从触摸或平板事件合成的。

Qt.MouseEventSynthesizedByQt -指示鼠标事件是由Qt从未处理的触摸或平板事件合成的。

Qt.MouseEventSynthesizedByApplication-指示鼠标事件是由应用程序合成的。这允许将应用程序生成的鼠标事件与来自系统或由Qt合成的鼠标事件区分开来。

这个属性是在Qt 5.7中引入的。
This property holds the source of the mouse event.

The mouse event source can be used to distinguish between genuine and

artificial mouse events. When using other pointing devices such as

touchscreens and graphics tablets, if the application does not make

use of the actual touch or tablet events, mouse events may be

synthesized by the operating system or by Qt itself.

The value can be one of:

Qt.MouseEventNotSynthesized - The most common value. On platforms

where such information is available, this value indicates that the

event represents a genuine mouse event from the system.

Qt.MouseEventSynthesizedBySystem - Indicates that the mouse event was

synthesized from a touch or tablet event by the platform.

Qt.MouseEventSynthesizedByQt - Indicates that the mouse event was

synthesized from an unhandled touch or tablet event by Qt.

Qt.MouseEventSynthesizedByApplication - Indicates that the mouse event

was synthesized by the application. This allows distinguishing

application-generated mouse events from the ones that are coming from

the system or are synthesized by Qt.

This property was introduced in Qt 5.7.

相关推荐
東隅已逝,桑榆非晚13 分钟前
vector(模拟实现)
c++·笔记·学习
蒸蒸yyyyzwd1 小时前
cpp 选手备战秋招学习笔记 day36
c++
用户69586106727111 小时前
从源码到加载器:__attribute__((constructor)) / __attribute__((destructor))的跨平台实现原理详解
c++
余额瞒着我当琳2 小时前
C++多态深入解析:多态概念,多态实现条件,虚函数表与内存分布,常见问题及注意事项
c++·算法
ocean21033 小时前
2025-2026年C++专题大厂面试高频问题
开发语言·c++·面试
≮傷£≯√3 小时前
QGraphicsScene(一) drawCAD 问题
qt
程序猿编码3 小时前
扔掉 Python!纯 C++ 本地跑扩散 TTS,GGML 加持,支持 RK3588 NPU 加速
c++·计算机视觉·大模型·transformer·rk3588·推理·ggml
郝学胜-神的一滴3 小时前
C++20模板元编程 02:吃透模板基础核心四大核心知识点
开发语言·数据结构·c++·程序人生·软件工程·visual studio
代码王同学3 小时前
2026.9.15日C++类和对象学习收获笔记
c语言·c++
刚入门的大一新生4 小时前
Linux-简单设计libc库
linux·c++