如何防止在 SwipeView 中手动滑动页面

How to prevent page manual swiping in SwipeView

SwipeView如何防止手动翻页?我想通过与按钮交互来滑动当前索引。我怎样才能做到这一点?这是我的 QML 代码:

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Window 2.2
import QtQuick.Controls.Material 2.0

ApplicationWindow {

    property int globalForJs: 10;

    id: mainWindow
    visible: true
    width: 1024
    height: 768
    color: '#ffffff'
    signal qmlSignal(string msg)

    TopPanel {
        id: topPanel1
    }

    SwipeView {
        id: view
        currentIndex: 0
        anchors.fill: parent

        Rectangle {
            id: firstPage
            color: "red"
        }

        Rectangle {
            id: secondPage
            color: "blue"
        }
    }


    BottomPanel {
        id: bottomPanel1
    }    
}

一个 interactive 属性 was added recently,并将在 Qt 5.8 alpha 中可用。

如果你不能使用 5.8,并且你知道 contentItem is a Flickable 的类型(目前它适用于所有内置样式),你可以设置它的 interactive 属性 到 false:

Component.onCompleted: contentItem.interactive = false