TableViewDelegate QML Type

Ein Delegat, der einem TableView zugewiesen werden kann. Mehr...

Import Statement: import QtQuick.Controls
Since: Qt 6.9
Inherits:

ItemDelegate

Eigenschaften

Detaillierte Beschreibung

Ein TableViewDelegate ist ein Delegat, das der delegate property eines TableView zugewiesen werden kann. Es rendert jede Zelle der Tabelle in der Ansicht unter Verwendung des Anwendungsstils.

TableView {
    anchors.fill: parent
    delegate: TableViewDelegate {}
    // model: yourModel
}

TableViewDelegate erbt ItemDelegate, was bedeutet, dass es sich aus zwei Elementen zusammensetzt: einem background und einem contentItem.

Die Position des contentItem wird mit padding gesteuert.

Interaktion mit Zeigern

TableViewDelegate erbt ItemDelegate. Das bedeutet, dass es Signale wie clicked ausgibt, wenn der Benutzer auf den Delegaten klickt. Sie können sich mit diesem Signal verbinden, um anwendungsspezifische Funktionalität zu implementieren.

Die API ItemDelegate gibt Ihnen jedoch keine Informationen über die Position des Klicks oder darüber, welche Modifikatoren gehalten werden. Wenn dies erforderlich ist, wäre es besser, z. B. Pointer-Handler zu verwenden:

TableView {
    id: tableView
    delegate: TableViewDelegate {
        TapHandler {
            acceptedButtons: Qt.RightButton
            onTapped: someContextMenu.open()
        }

        TapHandler {
            acceptedModifiers: Qt.ControlModifier
            onTapped: tableView.doSomethingToCell(row, column)
        }
    }
}

Hinweis: Wenn Sie das Standardverhalten deaktivieren möchten, das auftritt, wenn der Benutzer auf den Delegaten klickt (wie das Ändern des aktuellen Index), können Sie pointerNavigationEnabled auf false setzen.

Bearbeiten von Zellen in der Tabelle

TableViewDelegate hat einen Standard edit delegate zugewiesen. Wenn TableView auf edit triggers eingestellt ist und model Unterstützung für editing model items bietet, kann der Benutzer einen der Bearbeitungsauslöser aktivieren, um den Text der Tabellenzelle current zu bearbeiten.

Der Standard-Editierdelegat verwendet Qt.EditRole, um Daten in model zu lesen und zu schreiben. Wenn Sie eine andere Rolle verwenden müssen oder andere Anforderungen haben, die über das hinausgehen, was der Standard-Editierdelegat bietet, können Sie jederzeit Ihren eigenen Delegaten zu TableView.editDelegate zuweisen.

Siehe auch TableViewDelegate und TableViewanpassen.

Eigenschaft Dokumentation

current : bool

Diese Eigenschaft gibt an, ob der Delegat die current index in der selection model repräsentiert oder nicht.


editing : bool

Diese Eigenschaft gibt an, ob der Delegat edited ist oder nicht.


selected : bool

Diese Eigenschaft gibt an, ob der Delegierte ein selected index in der selection model repräsentiert.


tableView : TableView

Diese Eigenschaft zeigt auf die TableView, die das Delegatenelement enthält.


© 2025 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.