如何使用QML中的MultiPointTouchArea跟踪鼠标移动/单点触控?

时间:2016-01-27 19:02:22

标签: qt qml mouse multi-touch

具有mouseEnabled:trueminimumTouchPoints:1的MultiPointTouchArea似乎不支持鼠标按钮未按下鼠标按钮(在MacBook Air上使用鼠标和带鼠标的Windows 10测试),也不支持单点触摸事件(在Macbook Air触控板上测试)。

import QtQuick 2.5

Rectangle {
    id: root
    width: 800
    height: 300

    MultiPointTouchArea {
        anchors.fill: parent
        mouseEnabled: true
        minimumTouchPoints: 1
        maximumTouchPoints: 10

        onUpdated: {
            for (var touch in touchPoints)
                console.log("Multitouch updated touch", touchPoints[touch].pointId, "at", touchPoints[touch].x, ",", touchPoints[touch].y)
        }
    }
}

在上面的示例中,仅为

生成控制台输出
  • 2+个接触点
  • 按下按钮的鼠标
  • 按下触控板的1个触点

我尝试在MouseArea上分层MultiPointTouchArea并设置mouseEnabled:false。这样可以传播鼠标单击事件,但MouseArea不会接收鼠标PositionChanged信号。所以最终结果与上面相同。

有没有办法支持:

  • 1+个触控点(包括在触控板上)
  • 鼠标没有按下按钮

0 个答案:

没有答案