2013-12-17 2 views
9

멀티 터치 데스크톱 응용 프로그램을 작성하려고합니다. 나는 QML 기반의 응용 프로그램을 가지고 있으며, 동시에 하나 이상의 QML 요소를 동시에 드래그하려고합니다.멀티 터치 Qt 5.1 응용 프로그램 만들기

나는 MultiPointTouchArea을 사용하려고 시도했지만이 방법은 효과가 없습니다. 그래서 저는 두 가지 요소가 있습니다. 예를 들어 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++ 함수를 코딩해야합니까?

내 문제를 이해하시기 바랍니다.

답변

2

나는 MultiPointTouchArea에 새로 온 사람과 첫 번째 사각형 (J) 감동에 몇 가지 조사를하고, 당신이 동적으로점 (I)를 할당 에있는 것으로 보인다. 당신이 그렇게되어 있기 때문에 POINT2을 따릅니다 그래서 (노란색)

x: point1.x 
    y: point1.y 

사각형을하고 있기 때문에

사각형 (녹색) POINT1을 따릅니다 : 당신의 예에서

, 당신은 정적 할당을하고있다

x: point2.x 
    y: point2.y 

---> 녹색 사각형 점 하나를 따라하지 않습니다 및 노란색 하나는 점 2.

를 따라하지 않습니다 0

MultiPointTouchArea에는 사용자가 정의한 터치 점 배열이 있으며, 첫 번째 터치 점과 함께 제공되는 첫 번째 터치 제스처 등이 있습니다.

터치 포인트 상태 (누른 ...), 사각형 상태 (부울 속성 추가) 및 할당을 확인하는 해킹을해야합니다.

희망이 도움이됩니다, 행운을 빕니다.

+0

최소한의 QML 코드 예제를 추가 할 수 있다면이 방법이 도움이 될 것입니다. – hyde

관련 문제