Как предотвратить перелистывание страниц вручную в 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
    }    
}

person Ruslan Skaldin    schedule 16.11.2016    source источник


Ответы (1)


Свойство interactive было недавно добавлено и будет доступно в альфа-версии Qt 5.8.

Если вы не можете использовать 5.8 и знаете, что тип contentItem - это Flickable (который в настоящее время предназначен для всех встроенных стили), вы можете установить для его свойства interactive значение false:

Component.onCompleted: contentItem.interactive = false
person Mitch    schedule 16.11.2016