SelectionRectangle QML Type
Utilisé pour sélectionner les cellules d'un tableau à l'intérieur d'un TableView. Plus...
| Import Statement: | import QtQuick.Controls |
| Since: | Qt 6.2 |
| Inherits: |
Propriétés
- active : bool
- bottomRightHandle : Component
- dragging : bool
- selectionMode : enumeration
- target : Item
- topLeftHandle : Component
Propriétés rattachées
Description détaillée

SelectionRectangle est utilisé pour sélectionner les cellules d'un tableau dans un site TableView. Il permet à l'utilisateur de commencer une sélection en faisant glisser le pointeur à l'intérieur de la fenêtre d'affichage ou en appuyant longuement sur le dessus d'une cellule.
Pour qu'un SelectionRectangle puisse sélectionner des cellules, un ItemSelectionModel doit être attribué à TableView. Le site ItemSelectionModel stocke toutes les sélections effectuées sur le modèle et peut être utilisé pour demander quelles cellules ont été sélectionnées par l'utilisateur.
L'exemple suivant montre comment faire en sorte qu'un SelectionRectangle cible un TableView:
TableView { id: tableView anchors.fill: parent clip: true acceptedButtons: Qt.NoButton // mouse-drag changes selection model: TableModel { TableModelColumn { display: "name" } TableModelColumn { display: "age" } rows: [ { "name": "Harry", "age": "11" }, { "name": "Hedwig", "age": "8" } ] } selectionModel: ItemSelectionModel { model: tableView.model } delegate: TableViewDelegate { padding: 2 } } SelectionRectangle { target: tableView }
Remarque : un SelectionRectangle lui-même ne fait pas partie d'une sélection. Seuls les délégués (comme topLeftHandle et bottomRightHandle) sont utilisés. Vous pouvez également consulter le site rendering the TableView delegate as selected.
Voir également TableView, TableView::selectionModel, et ItemSelectionModel.
Documentation sur les propriétés
active : bool [read-only]
Cette propriété est true lorsque l'utilisateur effectue une sélection. La sélection est active à partir du moment où l'utilisateur commence à sélectionner et jusqu'à ce que la sélection soit à nouveau supprimée, par exemple en tapant à l'intérieur de la fenêtre de visualisation.
bottomRightHandle : Component
Cette propriété contient le délégué qui sera affiché au centre du coin supérieur gauche du rectangle de sélection. Lorsqu'une poignée est fournie, l'utilisateur peut la faire glisser pour ajuster la sélection.
La poignée n'est pas masquée par défaut lorsqu'une sélection est supprimée. C'est au délégué qu'il incombe de l'ouvrir pour les animations de fondu enchaîné personnalisées. La façon la plus simple de s'assurer que la poignée est cachée est de lier visible à l'état active de SelectionRectangle:
SelectionRectangle { bottomRightHandle: Rectangle { width: 20 height: 20 visible: SelectionRectangle.control.active } }
Définissez cette propriété à null si vous ne voulez pas de poignée de sélection en bas à droite.
Voir aussi topLeftHandle.
dragging : bool [read-only]
Cette propriété est true lorsque l'utilisateur fait glisser le pointeur ou la poignée pour ajuster le rectangle de sélection.
selectionMode : enumeration
Cette propriété détermine le moment où la sélection doit commencer.
| Constante | Description |
|---|---|
SelectionRectangle.Drag | Une sélection démarre en faisant glisser le pointeur à l'intérieur de la fenêtre de visualisation. |
SelectionRectangle.PressAndHold | Une sélection démarre en appuyant sur une cellule et en la maintenant enfoncée. |
SelectionRectangle.Auto | SelectionRectangle choisira le mode à utiliser en fonction de target et du périphérique d'entrée utilisé. Il s'agit normalement de Drag lorsqu'on utilise une souris, et de PressAndHold sur un écran tactile. Cependant, Drag ne sera utilisé que s'il n'y a pas de conflit avec le flicking. Une façon d'éviter les conflits est de désactiver le déplacement de la souris en réglant acceptedButtons sur Qt.NoButton. Dans ce cas, la molette de la souris ou le geste de défilement du pavé tactile continuent à fonctionner, le déplacement de l'écran tactile continue à fonctionner et la sélection de l'écran tactile peut être lancée en appuyant et en maintenant la touche enfoncée. Une autre solution consiste à attribuer à interactive la valeur false, ce qui désactive complètement le défilement et la navigation (cette opération ne devrait peut-être être effectuée que temporairement, dans un mode quelconque de votre interface utilisateur). Une autre solution encore consiste à placer TableView à l'intérieur de ScrollView (où le défilement est désactivé par défaut pour les événements de souris). |
La valeur par défaut est Auto.
target : Item
Cette propriété contient le site TableView sur lequel le site SelectionRectangle doit agir.
topLeftHandle : Component
Cette propriété contient le délégué qui sera affiché au centre du coin supérieur gauche du rectangle de sélection. Lorsqu'une poignée est fournie, l'utilisateur peut la faire glisser pour ajuster la sélection.
La poignée n'est pas masquée par défaut lorsqu'une sélection est supprimée. C'est au délégué qu'il incombe de l'ouvrir pour les animations de fondu enchaîné personnalisées. La façon la plus simple de s'assurer que la poignée est cachée est de lier visible à l'état active de SelectionRectangle:
SelectionRectangle { topLeftHandle: Rectangle { width: 20 height: 20 visible: SelectionRectangle.control.active } }
Définissez cette propriété à null si vous ne voulez pas de poignée de sélection en haut à gauche.
Voir aussi bottomRightHandle.
Documentation sur les propriétés attachées
SelectionRectangle.control : SelectionRectangle
Cette propriété attachée contient le site SelectionRectangle qui gère l'instance de délégué. Elle est attachée à chaque instance de handle.
SelectionRectangle.dragging : bool
Cette propriété attachée sera true si l'utilisateur fait glisser la poignée. Elle est attachée à chaque instance de poignée.
© 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.