短版
有没有办法在 QML 中仅使用 ? 选择性地重新发出/忽略触摸事件MultiPointTouchArea
?
或者
有没有办法通过 QML 阻止多点触控事件QtWebEngine
?
背景/我尝试过
的我正在帮助使用QtWebEngine
1.0 的 QT 应用程序,当对其应用多点触控手势时,它会崩溃。
我最初的计划是将 aMultiPointTouchArea
放在 WebEngine 前面并使用所有大于 1 次触摸的手势。我希望仅在 QML(下)中实现这一点,并且少于两个的触摸事件(单指/鼠标)将落入 WebEngine。
它没有用:| 所有的触摸事件都被 消耗掉了MultiPointTouchArea
,通过在它们周围添加TouchPoints
矩形来测试哪些是触发的。
为了确认它不是 WebEngine 只是没有响应,我在 min:2 下放置了第二个 MultiPointTouchArea 并且永远无法处理它的触摸事件。
MultiPointTouchArea {
z:10
anchors.top: parent.top
width: parent.width
height: parent.height
enabled:true
mouseEnabled:true
minimumTouchPoints: 2
onPressed: { console.log("multi touch pressed"); }
}
这里问了一个类似的问题:Object to process touch event but also let it through,但他们能够子类化/重新编译。