SwipeView QML Type
Permet à l'utilisateur de naviguer dans les pages en glissant latéralement. Plus d'informations...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
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 rattachées
- index : int
- isCurrentItem : bool
- isNextItem : bool
(since QtQuick.Controls 2.1 (Qt 5.8)) - isPreviousItem : bool
(since QtQuick.Controls 2.1 (Qt 5.8)) - view : SwipeView
Description détaillée
SwipeView fournit un modèle de navigation basé sur le glissement.
SwipeView est constitué d'un ensemble de pages. Une page est visible à la fois. L'utilisateur peut naviguer entre les pages en balayant latéralement. Notez que SwipeView lui-même est entièrement non visuel. Il est recommandé de le combiner avec PageIndicator, pour donner à l'utilisateur un indice visuel de l'existence de 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 alimenté par un ensemble statique de pages définies en ligne en tant qu'enfants de la vue. Il est également possible d'ajouter les pages add, insert, move et remove de manière dynamique au moment de l'exécution.
Lorsque SwipeView est associé à un autre conteneur tel que TabBar, il est nécessaire d'établir une liaison bidirectionnelle entre la propriété currentIndex de chaque contrôle. Pour y parvenir sans rompre les liaisons, évitez de définir directement currentIndex et utilisez plutôt setCurrentIndex(), par exemple. Voir Managing the Current Index pour plus d'informations.
Pour effectuer une action lorsque currentIndex change, utilisez le gestionnaire de signal de changement de propriété onCurrentIndexChanged:
onCurrentIndexChanged: { print("currentIndex changed to", currentIndex) // ... }
Il n'est généralement pas conseillé d'ajouter un nombre excessif de pages à un SwipeView. Cependant, lorsque le nombre de pages augmente ou que les pages individuelles sont relativement complexes, il peut être souhaitable de libérer des ressources en déchargeant les pages qui ne sont pas à la portée immédiate de l'utilisateur. L'exemple suivant montre comment utiliser Loader pour garder un maximum de trois pages instanciées simultanément.
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) } } } }
Note : SwipeView prend en charge la gestion de la géométrie des éléments ajoutés à la vue. L'utilisation d'ancres 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'ancres pour ses enfants fonctionnent comme prévu.
Voir également TabBar, PageIndicator, Personnaliser le SwipeView, les contrôles de navigation, les contrôles de conteneurs et la gestion du focus dans les contrôles Qt Quick .
Property Documentation
horizontal : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]
Cette propriété indique si la vue de balayage est horizontale.
Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).
Voir aussi orientation.
interactive : bool [since QtQuick.Controls 2.1 (Qt 5.8)]
Cette propriété indique si l'utilisateur peut interagir avec le site SwipeView. L'utilisateur ne peut pas balayer 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é contient l'orientation.
Valeurs possibles :
| Constante | Description |
|---|---|
Qt.Horizontal | Horizontal (par défaut) |
Qt.Vertical | Vertical |
Cette propriété a été introduite dans QtQuick.Controls 2.2 (Qt 5.9).
Voir aussi horizontal et vertical.
vertical : bool [read-only, since QtQuick.Controls 2.3 (Qt 5.10)]
Cette propriété indique si la vue de balayage est verticale.
Cette propriété a été introduite dans QtQuick.Controls 2.3 (Qt 5.10).
Voir aussi orientation.
Documentation sur la propriété Attached
SwipeView.index : int [read-only]
Cette propriété jointe contient l'index de chaque élément enfant de la base de données SwipeView.
Elle est attachée à chaque élément enfant de la propriété SwipeView.
SwipeView.isCurrentItem : bool [read-only]
Cette propriété attachée est true si cet enfant est l'élément courant.
Elle est attachée à chaque élément enfant du site SwipeView.
SwipeView.isNextItem : bool [read-only, since QtQuick.Controls 2.1 (Qt 5.8)]
Cette propriété attachée est true si cet enfant est l'élément suivant.
Elle est attachée à chaque élément enfant du SwipeView.
Cette propriété a été introduite dans QtQuick.Controls 2.1 (Qt 5.8).
SwipeView.isPreviousItem : bool [read-only, since QtQuick.Controls 2.1 (Qt 5.8)]
Cette propriété attachée est true si cet enfant est l'élément précédent.
Elle est attachée à chaque élément enfant du SwipeView.
Cette propriété a été introduite dans QtQuick.Controls 2.1 (Qt 5.8).
SwipeView.view : SwipeView [read-only]
Cette propriété jointe contient la vue qui gère cet élément enfant.
Elle est attachée à chaque élément enfant du site 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.