首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个多触点QT5.1应用程序

创建一个多触点QT5.1应用程序
EN

Stack Overflow用户
提问于 2013-12-17 12:04:40
回答 1查看 2.6K关注 0票数 9

我正在尝试编写一个多点触摸桌面应用程序。我有一个基于QML的应用程序,现在我尝试同时拖动多个QML元素。

我试着使用MultiPointTouchArea,但这不起作用。所以我有两个元素。例如,两个图片,应该由两个不同的人同时拖动。

如果我定义了一个包含MultiPointTouchArea的矩形,并将一个touchPoint链接到每个图片,则第一个触摸事件移动第一个图片,第二个触摸事件移动第二个图片。

如本示例代码所示:

代码语言:javascript
复制
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++函数?

希望你能理解我的问题。

EN

回答 1

Stack Overflow用户

发布于 2014-02-28 22:51:38

我刚接触过MultiPointTouchArea并做了一些调查,看来您必须动态地将--点(I)--分配给第一个触碰的矩形(J)

在您的示例中,您正在执行静态分配:

矩形(绿色)将跟随point1,因为您正在这样做

代码语言:javascript
复制
    x: point1.x
    y: point1.y

矩形(黄色)将跟随point2,因为您正在这样做

代码语言:javascript
复制
    x: point2.x
    y: point2.y

MultiPointTouchArea有一个您定义的触点数组,第一个触摸手势随第一个触点一起服务,等等。

因此,您必须创建一个函数或一些黑客来检查触点状态(按下.)、矩形状态(添加一些布尔属性)并进行分配。

希望这能帮上忙祝你好运。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20633654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档