QML - вертикальное смахивание?

Можно ли использовать SwipeView в QML для вертикального смахивания, а не горизонтального?

Я бы хотел, чтобы содержимое страницы SwipeView перемещалось вертикально, поэтому пользователь должен прокручивать вверх и вниз для перехода между страницами.

Если это невозможно, как мне это сделать?

ОБНОВЛЕНИЕ Эта функция была добавлена ​​в QT, как показано здесь:

http://doc-snapshots.qt.io/qt5-dev/qml-qtquick-controls2-swipeview.html#orientation-prop


person Placeable    schedule 15.09.2016    source источник


Ответы (1)


После еще нескольких исследований я пришел к решению, которое отлично работает, используя ListView / ListModel / ListDelegate - разместив его здесь для других, кто хочет добиться того же.

QML:

ListView {
    snapMode: ListView.SnapOneItem
    highlightRangeMode: ListView.StrictlyEnforceRange

    anchors {
        top: parent.top
        bottom: parent.bottom
        left: parent.left
        right: parent.right
    }

    model: ListModel {
        id: listModel

        ListElement {
            text: "1"
        }
        ListElement {
            text: "2"
        }
        ListElement {
            text: "3"
        }
    }

    delegate: Page {
        width:  ListView.view.width
        height: ListView.view.height

        Text {
            anchors.centerIn: parent
            text: model.text
        }
    }
}
person Placeable    schedule 15.09.2016
comment
Тем не менее я внесла предложение: bugreports.qt.io/browse/QTBUG-56031 - person jpnurmi; 15.09.2016
comment
Добавлен SwipeView::orientation в Qt Quick Controls 2.2 в Qt 5.9, который будет выпущен позже весной 2017 года. - person jpnurmi; 14.01.2017