MouseEvent过时成员
以下QML类型MouseEvent的成员已被弃用。它们被提供以保持旧源代码的正常运行。我们强烈建议在新代码中不要使用它们。
属性
- source : int
(已在6.2中弃用)
属性文档
source : int |
此属性自QtQuick 6.2起已被弃用。我们强烈建议在新代码中不要使用它。
此属性包含鼠标事件的源。
鼠标事件源可以用来区分真实和伪鼠标事件。当使用其他指点设备如触摸屏和绘图板时,如果应用程序未使用实际触摸或绘图板事件,操作系统或Qt本身可能会合成鼠标事件。
其值可以是以下之一
- Qt.MouseEventNotSynthesized - 最常见的值。在平台提供此类信息的情况下,该值指示事件代表系统发出的真实鼠标事件。
- Qt.MouseEventSynthesizedBySystem - 表示鼠标事件由平台从触摸或绘图板事件合成。
- Qt.MouseEventSynthesizedByQt - 表示鼠标事件由Qt从未处理的触摸或绘图板事件合成。
- Qt.MouseEventSynthesizedByApplication - 表示鼠标事件由应用程序合成。这允许区分由应用程序生成的鼠标事件和来自系统或由Qt合成的那些事件。
例如,只响应来自实际鼠标的事件
MouseArea { onPressed: (mouse)=> { if (mouse.source !== Qt.MouseEventNotSynthesized) mouse.accepted = false } onClicked: doSomething() }
如果按下事件的处理程序拒绝该事件,它将被进一步传播,然后下方的另一个Item可以处理由触摸屏合成的虚构事件。例如,如果下方使用了Flickable(且MouseArea不是Flickable的子项),则对于MouseArea来说,处理真实鼠标事件以一种方式是有用的,同时允许触摸事件传递到下方的Flickable,从而保留在触摸屏上滑动的功能。在这种情况下,通过鼠标拖动Flickable的能力会丢失,但这不会阻止Flickable接收鼠标滚轮事件。
© 2024 Qt公司有限公司。本文件中的文档贡献归各自所有者所有。本文件中提供的文献根据自由软件基金会发布的GNU自由文档许可协议第1.3版进行许可。