
[英]Qt Multi-Touch with qTUIO and mtdev2tuio embedded linux
[英]Create a multi-touch Qt 5.1 application
我正在尝试编写一个多点触控桌面应用程序。 我有一个基于QML的应用程序,现在我尝试同时拖动多个QML元素。
我尝试使用MultiPointTouchArea
,但这不起作用。 所以我有2个元素。 例如,2张图片,应该由两个不同的人同时拖动。
如果我定义一个包含MultiPointTouchArea
的矩形,并且我将每个图片链接一个touchPoint
,则第一个触摸事件会移动第一个图片,第二个触摸事件会移动第二个图片。
就像在这个示例代码中:
Rectangle {
width: 400; height: 400
MultiPointTouchArea {
anchors.fill: parent
touchPoints: [
TouchPoint { id: point1 },
TouchPoint { id: point2 }
]
}
Rectangle {
width: 30; height: 30
color: "green"
x: point1.x
y: point1.y
}
Rectangle {
width: 30; height: 30
color: "yellow"
x: point2.x
y: point2.y
}
}
这不是我想要的。 如果他们同时被触摸和拖动,我希望他们移动,而不会互相干扰,也没有触摸事件的顺序。 这可能在qml中吗? 或者我必须编写C ++函数代码?
我希望你理解我的问题。
我是MultiPointTouchArea的新手并且做了一些调查,看来你必须动态地将 点(i) 分配给第一个触摸的Rectangle(j) 。
在您的示例中,您正在执行静态分配:
矩形(绿色)将跟随point1,因为您正在这样做
x: point1.x
y: point1.y
矩形(黄色)将跟随point2,因为您正在这样做
x: point2.x
y: point2.y
--->绿色矩形永远不会跟随点1,黄色矩形永远不会跟随点2。
MultiPointTouchArea具有您定义的触摸点阵列,第一个通过第一个触摸点提供的触摸手势,依此类推。
所以你必须做一个函数或一些黑客来检查触摸点状态(按下...),矩形状态(添加一些布尔属性)并进行分配。
希望这会有所帮助,祝你好运。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.