Drawer QML Type
Panneau latéral pouvant être ouvert et fermé d'un simple geste. Plus d'informations...
| Import Statement: | import QtQuick.Controls |
| Inherits: |
Propriétés
- dragMargin : real
- edge : enumeration
- interactive : bool
(since QtQuick.Controls 2.2 (Qt 5.9)) - position : real
Description détaillée
Le tiroir fournit un panneau latéral basé sur le glissement, similaire à ceux souvent utilisés dans les interfaces tactiles pour fournir un emplacement central pour la navigation.
Le tiroir peut être positionné sur l'un des quatre bords de l'élément de contenu. Le tiroir ci-dessus est positionné contre le bord gauche de la fenêtre. Le tiroir est ensuite ouvert en le faisant "glisser" depuis le bord gauche de la fenêtre.
import QtQuick import QtQuick.Controls ApplicationWindow { id: window visible: true Drawer { id: drawer width: 0.66 * window.width height: window.height Label { text: "Content goes here!" anchors.centerIn: parent } } }
Le tiroir est un type spécial de fenêtre contextuelle qui se trouve sur l'un des bords de la fenêtre edges. Par défaut, Drawer se re-parente à la fenêtre overlay, et fonctionne donc sur les coordonnées de la fenêtre. Il est également possible d'attribuer manuellement une autre valeur à la fenêtre parent pour que le tiroir fonctionne dans un espace de coordonnées spécifique.
Le tiroir peut être configuré pour ne couvrir qu'une partie du bord de sa fenêtre. L'exemple suivant illustre comment le tiroir peut être positionné pour apparaître sous l'en-tête d'une fenêtre :
import QtQuick import QtQuick.Controls ApplicationWindow { id: window visible: true header: ToolBar { } Drawer { y: header.height width: window.width * 0.6 height: window.height - header.height } }
La propriété position détermine la partie visible du tiroir, sous la forme d'une valeur comprise entre 0.0 et 1.0. Il n'est pas possible de définir les coordonnées x (ou marges horizontales) d'un tiroir sur le bord gauche ou droit de la fenêtre, ni les coordonnées y (ou marges verticales) d'un tiroir sur le bord supérieur ou inférieur de la fenêtre.
Dans l'image ci-dessus, le contenu de l'application est "poussé" sur l'écran. Pour ce faire, une translation est appliquée au contenu :
import QtQuick import QtQuick.Controls ApplicationWindow { id: window width: 200 height: 228 visible: true Drawer { id: drawer width: 0.66 * window.width height: window.height } Label { id: content text: "Aa" font.pixelSize: 96 anchors.fill: parent verticalAlignment: Label.AlignVCenter horizontalAlignment: Label.AlignHCenter transform: Translate { x: drawer.position * content.width * 0.33 } } }
Si vous souhaitez que le contenu de l'application reste à l'endroit où il se trouve lorsque le tiroir est ouvert, n'appliquez pas de translation.
Le tiroir peut être configuré comme un panneau latéral persistant non refermable en rendant le tiroir non-modal et non-interactive. Voir l'exemple de la galerie pour plus de détails.
Remarque : sur certaines plateformes, certains bords peuvent être réservés aux gestes du système et ne peuvent donc pas être utilisés avec le tiroir. Par exemple, les bords supérieur et inférieur peuvent être réservés aux notifications du système et aux centres de contrôle sur Android et iOS.
Voir également SwipeView, Personnaliser le tiroir, Contrôles de navigation et Contrôles contextuels.
Documentation sur les propriétés
dragMargin : real
Cette propriété définit la distance par rapport au bord de l'écran à laquelle les actions de glisser-déposer ouvriront le tiroir. Si la valeur est inférieure ou égale à 0, le tiroir ne s'ouvrira pas par glissement.
La valeur par défaut est Application.styleHints.startDragDistance.
Voir également interactive.
edge : enumeration
Cette propriété définit le bord de la fenêtre à partir duquel le tiroir s'ouvrira. Les valeurs acceptables sont les suivantes
| Constante | Description |
|---|---|
Qt.TopEdge | Le bord supérieur de la fenêtre. |
Qt.LeftEdge | Le bord gauche de la fenêtre (par défaut). |
Qt.RightEdge | Le bord droit de la fenêtre. |
Qt.BottomEdge | Le bord inférieur de la fenêtre. |
interactive : bool [since QtQuick.Controls 2.2 (Qt 5.9)]
Cette propriété indique si le tiroir est interactif. Un tiroir non interactif ne réagit pas aux glissements.
La valeur par défaut est true.
Cette propriété a été introduite dans QtQuick.Controls 2.2 (Qt 5.9).
Voir également dragMargin.
position : real
Cette propriété indique la position du tiroir par rapport à sa destination finale. En d'autres termes, la position sera 0.0 lorsque le tiroir est complètement fermé et 1.0 lorsqu'il est complètement ouvert.
© 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.