QML SwipeView свайп двумя пальцами

#qml

Вопрос:

Я использую SwipeView и хочу, чтобы он не переходил со страницы на страницу, проводя пальцем по сенсорному экрану. Как ограничить пролистывание SwipeView только 2-мя пальцами?

 import QtQuick 2.9
import QtQuick.Controls 2.2

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Tabs")

    SwipeView {
        id: swipeView
        anchors.fill: parent
        currentIndex: tabBar.currentIndex

        Page1Form {
        }

        Page2Form {
        }
    }

    footer: TabBar {
        id: tabBar
        currentIndex: swipeView.currentIndex

        TabButton {
            text: qsTr("Page 1")
        }
        TabButton {
            text: qsTr("Page 2")
        }
    }
}
 

Комментарии:

1. В чем проблема с этим кодом?

2. @folibis Нет никаких проблем, я просто хочу, чтобы это произошло с помощью 2 пальцев

3. Из вашего вопроса абсолютно неясно, что работает неправильно .

4. Я хочу, чтобы ты не проводил пальцем

Ответ №1:

  Page1Form {
         MultiPointTouchArea {
                anchors.fill: parent
                mouseEnabled: false
                minimumTouchPoints: 1
                maximumTouchPoints: 10
                onTouchUpdated:{
                    var pointId=[];
                    for (var touch in touchPoints){
                        pointId.push(touchPoints[touch].pointId);
                        //console.log(pointId);
                        if(pointId.length === 2){
                            swipeView.interactive = true;
                        }else{
                            swipeView.interactive = false;
                        }
                   }
               }
         }
  }