SelectionRectangle QML Type
Dient zur Auswahl von Tabellenzellen innerhalb eines „ TableView “. Mehr...
| Import Statement: | import QtQuick.Controls |
| Since: | Qt 6.2 |
| Inherits: |
Eigenschaften
- active : bool
- bottomRightHandle : Component
- dragging : bool
- selectionMode : enumeration
- target : Item
- topLeftHandle : Component
Zugehörige Eigenschaften
Ausführliche Beschreibung

SelectionRectangle dient zur Auswahl von Tabellenzellen in einem TableView. Damit kann der Benutzer eine Auswahl starten, indem er den Zeiger innerhalb des Ansichtsbereichs zieht oder eine Zelle lange gedrückt hält.
Damit ein „SelectionRectangle“ Zellen auswählen kann, muss dem „ TableView “ ein „ ItemSelectionModel “ zugewiesen sein. Das „ ItemSelectionModel “ speichert alle am Modell vorgenommenen Auswahlen und kann verwendet werden, um abzufragen, welche Zellen der Benutzer ausgewählt hat.
Das folgende Beispiel zeigt, wie Sie ein „SelectionRectangle“ auf ein „ TableView “ ausrichten können:
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
}Hinweis: Ein „SelectionRectangle“ selbst wird nicht als Teil einer Auswahl angezeigt. Es werden ausschließlich die Delegaten (wie „ topLeftHandle “ und „ bottomRightHandle “) verwendet. Sie sollten auch „ rendering the TableView delegate as selected “ in Betracht ziehen.
Siehe auch „ TableView “, „ TableView::selectionModel “ und „ ItemSelectionModel “.
Dokumentation zu den Eigenschaften
active : bool [read-only]
Diese Eigenschaft ist „ true “, während der Benutzer eine Auswahl vornimmt. Die Auswahl ist ab dem Zeitpunkt aktiv, an dem der Benutzer mit der Auswahl beginnt, bis die Auswahl wieder aufgehoben wird, beispielsweise durch Antippen innerhalb des Ansichtsbereichs.
bottomRightHandle : Component
Diese Eigenschaft enthält den Delegaten, der in der Mitte der oberen linken Ecke des Auswahlrechtecks angezeigt wird. Wenn ein Griff vorhanden ist, kann der Benutzer diesen ziehen, um die Auswahl anzupassen.
Der Griff wird standardmäßig nicht ausgeblendet, wenn eine Auswahl entfernt wird. Stattdessen ist dies Aufgabe des Delegaten, um benutzerdefinierte Ausblendanimationen zu ermöglichen. Der einfachste Weg, um sicherzustellen, dass der Griff ausgeblendet wird, besteht darin, „ visible “ einfach an den Zustand „ active “ von „ SelectionRectangle “ zu binden:
SelectionRectangle {
bottomRightHandle: Rectangle {
width: 20
height: 20
visible: SelectionRectangle.control.active
}
}Setzen Sie diese Eigenschaft auf „ null “, wenn Sie keinen Auswahl-Handle unten rechts wünschen.
Siehe auch „ topLeftHandle “.
dragging : bool [read-only]
Diese Eigenschaft ist „ true “, wenn der Benutzer den Mauszeiger oder einen Griff zieht, um das Auswahlrechteck anzupassen.
selectionMode : enumeration
Diese Eigenschaft legt fest, wann eine Auswahl beginnen soll.
| Konstante | Beschreibung |
|---|---|
SelectionRectangle.Drag | Eine Auswahl wird durch Ziehen des Zeigers innerhalb des Ansichtsbereichs gestartet |
SelectionRectangle.PressAndHold | Eine Auswahl wird durch Drücken und Halten auf einer Zelle gestartet |
SelectionRectangle.Auto | SelectionRectangle wählt den zu verwendenden Modus basierend auf der Eigenschaft „ target “ und dem verwendeten Eingabegerät aus. Dies bedeutet normalerweise „ Drag “ bei Verwendung einer Maus und „ PressAndHold “ auf einem Touchscreen. „ Drag “ wird jedoch nur verwendet, wenn es nicht mit dem „Flicking“ in Konflikt steht. Eine Möglichkeit, Konflikte zu vermeiden, besteht darin, das „Mouse-Drag-Flicking“ zu deaktivieren, indem „ acceptedButtons “ auf „ Qt.NoButton “ gesetzt wird. In diesem Fall funktionieren das Scrollen mit dem Mausrad oder dem Touchpad sowie das „Flicking“ auf dem Touchscreen weiterhin, und die Auswahl auf dem Touchscreen kann durch Drücken und Halten gestartet werden. Eine weitere Möglichkeit besteht darin, „ interactive “ auf „ false “ zu setzen, wodurch das Flicking und das Scrollen vollständig deaktiviert werden (dies sollte möglicherweise nur vorübergehend erfolgen, beispielsweise in einem bestimmten Modus Ihrer Benutzeroberfläche). Eine weitere Möglichkeit ist es, die „ TableView “-Funktion in eine „ ScrollView “-Funktion einzubinden (wo das Flicking standardmäßig für Mausereignisse deaktiviert ist). |
Der Standardwert lautet „ Auto “.
target : Item
Diese Eigenschaft enthält das ` TableView `, auf das die ` SelectionRectangle ` angewendet werden soll.
topLeftHandle : Component
Diese Eigenschaft enthält den Delegaten, der in der Mitte der oberen linken Ecke des Auswahlrechtecks angezeigt wird. Wenn ein Griff vorhanden ist, kann der Benutzer diesen ziehen, um die Auswahl anzupassen.
Der Griff wird standardmäßig nicht ausgeblendet, wenn eine Auswahl aufgehoben wird. Stattdessen ist dies Aufgabe des Delegaten, um benutzerdefinierte Ausblendanimationen zu ermöglichen. Der einfachste Weg, um sicherzustellen, dass der Griff ausgeblendet wird, besteht darin, „ visible “ einfach an den Zustand „ active “ von „ SelectionRectangle “ zu binden:
SelectionRectangle {
topLeftHandle: Rectangle {
width: 20
height: 20
visible: SelectionRectangle.control.active
}
}Setzen Sie diese Eigenschaft auf „ null “, wenn Sie keinen Auswahlgriff oben links wünschen.
Siehe auch „ bottomRightHandle “.
Dokumentation zu angehängten Eigenschaften
SelectionRectangle.control : SelectionRectangle [attached]
Diese angehängte Eigenschaft enthält die „ SelectionRectangle “, die die Delegate-Instanz verwaltet. Sie ist an jede Handle-Instanz angehängt.
SelectionRectangle.dragging : bool [attached]
Diese zugeordnete Eigenschaft ist „ true “, wenn der Benutzer den Griff zieht. Sie ist jeder Griff-Instanz zugeordnet.
© 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.