Sur cette page

SwipeView QML Type

Permet à l'utilisateur de parcourir les pages en faisant glisser son doigt latéralement. En savoir plus...

Import Statement: import QtQuick.Controls
Inherits:

Container

Propriétés

  • horizontal : bool (since QtQuick.Controls 2.3 (Qt 5.10))
  • interactive : bool (since QtQuick.Controls 2.1 (Qt 5.8))
  • orientation : enumeration (since QtQuick.Controls 2.2 (Qt 5.9))
  • vertical : bool (since QtQuick.Controls 2.3 (Qt 5.10))

Propriétés associées

Description détaillée

SwipeView propose un modèle de navigation par glissement.

SwipeView contient un ensemble de pages. Une seule page est visible à la fois. L'utilisateur peut naviguer entre les pages en faisant glisser son doigt latéralement. Notez que SwipeView est en soi entièrement non visuel. Il est recommandé de l'associer à PageIndicator afin de donner à l'utilisateur un indice visuel indiquant qu'il existe plusieurs pages.

SwipeView {
    id: view

    currentIndex: 1
    anchors.fill: parent

    Item {
        id: firstPage
    }
    Item {
        id: secondPage
    }
    Item {
        id: thirdPage
    }
}

PageIndicator {
    id: indicator

    count: view.count
    currentIndex: view.currentIndex

    anchors.bottom: view.bottom
    anchors.horizontalCenter: parent.horizontalCenter
}

Comme indiqué ci-dessus, SwipeView est généralement rempli d’un ensemble statique de pages définies en ligne en tant qu’enfants de la vue. Il est également possible d’ add, insert, move et remove des pages de manière dynamique lors de l’exécution.

Lorsque SwipeView est associé à un autre conteneur tel que TabBar, il est nécessaire d’établir une liaison bidirectionnelle entre les propriétés currentIndex de chaque contrôle. Pour ce faire sans rompre les liaisons, évitez de définir currentIndex directement et utilisez plutôt setCurrentIndex(), par exemple. Consultez Managing the Current Index pour plus d’informations.

Pour effectuer une action lorsque ` currentIndex ` change, utilisez le gestionnaire de signal de changement de la propriété` onCurrentIndexChanged ` :

onCurrentIndexChanged: {
    print("currentIndex changed to", currentIndex)
    // ...
}

Il n’est généralement pas conseillé d’ajouter un nombre excessif de pages à une SwipeView. Cependant, lorsque le nombre de pages augmente ou que certaines pages sont relativement complexes, il peut être souhaitable de libérer des ressources en déchargeant les pages qui ne sont pas immédiatement accessibles à l’utilisateur. L’exemple suivant montre comment utiliser ` Loader ` pour ne conserver que trois pages instanciées simultanément au maximum.

SwipeView {
    Repeater {
        model: 6
        Loader {
            active: SwipeView.isCurrentItem || SwipeView.isNextItem || SwipeView.isPreviousItem
            sourceComponent: Text {
                text: index
                Component.onCompleted: console.log("created:", index)
                Component.onDestruction: console.log("destroyed:", index)
            }
        }
    }
}

Remarque : SwipeView prend en charge la gestion de la géométrie des éléments ajoutés à la vue. L’utilisation d’ancrages sur les éléments n’est pas prise en charge, et toute affectation de ` width ` ou ` height ` sera remplacée par la vue. Notez que cela ne s’applique qu’à la racine de l’élément. La spécification de la largeur et de la hauteur, ou l’utilisation d’ancrages pour ses enfants, fonctionne comme prévu.

Voir également TabBar, PageIndicator, Personnalisation de SwipeView, Contrôles de navigation, Contrôles de conteneur et Gestion du focus dans Qt Quick Controls.

Documentation sur les propriétés

horizontal : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

Cette propriété indique si le défilement de la vue est horizontal.

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Voir également orientation.

interactive : bool [since QtQuick.Controls 2.1 (Qt 5.8)]

Cette propriété indique si l'utilisateur peut interagir avec l'élément « SwipeView ». L'utilisateur ne peut pas faire défiler une vue qui n'est pas interactive.

La valeur par défaut est « true ».

Cette propriété a été introduite dans QtQuick.Controls 2.1 (Qt 5.8).

orientation : enumeration [since QtQuick.Controls 2.2 (Qt 5.9)]

Cette propriété définit l'orientation.

Valeurs possibles :

ConstanteDescription
Qt.HorizontalHorizontale (par défaut)
Qt.VerticalVerticale

Cette propriété a été introduite dans QtQuick.Controls 2.2 (Qt 5.9).

Voir également horizontal et vertical.

vertical : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]

Cette propriété indique si la vue de défilement est verticale.

Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).

Voir également orientation.

Documentation sur les propriétés associées

SwipeView.index : int [read-only attached]

Cette propriété associée contient l'index de chaque élément enfant de l'SwipeView.

Elle est associée à chaque élément enfant de l'SwipeView.

SwipeView.isCurrentItem : bool [read-only attached]

Cette propriété associée est « true » si cet élément enfant est l'élément actif.

Elle est associée à chaque élément enfant de l'SwipeView.

SwipeView.isNextItem : bool [read-only attached, since QtQuick.Controls 2.1 (Qt 5.8)]

Cette propriété associée est « true » si cet élément enfant est l'élément suivant.

Elle est associée à chaque élément enfant de l’ SwipeView.

Cette propriété a été introduite dans QtQuick.Controls 2.1 (Qt 5.8).

SwipeView.isPreviousItem : bool [read-only attached, since QtQuick.Controls 2.1 (Qt 5.8)]

Cette propriété associée est « true » si cet élément enfant correspond à l'élément précédent.

Elle est associée à chaque élément enfant de l'SwipeView.

Cette propriété a été introduite dans QtQuick.Controls 2.1 (Qt 5.8).

SwipeView.view : SwipeView [read-only attached]

Cette propriété associée contient la vue qui gère cet élément enfant.

Elle est associée à chaque élément enfant de l'SwipeView.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.