I have to implement pages using QML component like Item (say Item 1, Item 2, Item 3) in SwipeView without using Repeaters and also implement page turners as shown below. The getPreviousPage Rectangle should move the view to turn to previous page similarly for getNextPage Rectangle.
import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
Window {
visible: true
color:"black"
width: 400+100
height: 200
Rectangle
{
id:getPreviousPage
color:"red"
x:0
y:0
width:50
height:200
MouseArea
{
anchors.fill:parent
onClicked:
{
//turn to previous page
}
}
}
Rectangle
{
id:getNextPage
color:"green"
width:50
x:450
y:0
height:200
MouseArea
{
anchors.fill:parent
onClicked:
{
//turn to next page
}
}
}
Pane {
id: pane
width: 400
height: 200
x:50
y:0
SwipeView {
id: view
currentIndex: 1
anchors.fill: parent
Repeater {
model: 3
Pane {
width: view.width
height: view.height
Column {
spacing: 40
width: parent.width
Label {
width: parent.width
wrapMode: Label.Wrap
horizontalAlignment: Qt.AlignHCenter
text: view.currentIndex
}
}
}
}
}
}
}
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtQuick.Window 2.0
Window {
visible: true
width: 200
height: 400
title: qsTr("Hello World")
id: page
SwipeView {
id: swipeView
anchors.fill: parent
currentIndex: 0
Page {
Label {
text: qsTr("First page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Second page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Third page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Fourth page")
anchors.centerIn: parent
}
}
Page {
Label {
text: qsTr("Fifth page")
anchors.centerIn: parent
}
}
}
Rectangle
{
id:minus
width:parent.width/2
height:100
anchors.left:parent.left
anchors.bottom:parent.bottom
color:"red"
MouseArea
{
anchors.fill:parent
onClicked:{
if(swipeView.currentIndex>0)
swipeView.currentIndex--
}
}
}
Rectangle
{
id:plus
width:parent.width/2
height:100
anchors.right:parent.right
anchors.bottom:parent.bottom
color:"green"
MouseArea
{
anchors.fill:parent
onClicked:{
if(swipeView.currentIndex<4)
swipeView.currentIndex++
}
}
}
}
You can just use Page Qml types instead of Repeaters. Above given code has sample implementation of Page Turners.