TableViewDelegate QML Type
Ein Delegat, der einem „ TableView “ zugewiesen werden kann. Mehr...
| Import Statement: | import QtQuick.Controls |
| Since: | Qt 6.9 |
| Inherits: | |
| Inherited By: |
Eigenschaften
Ausführliche Beschreibung

Ein „TableViewDelegate“ ist ein Delegat, der dem „ delegate property “ eines „ TableView “ zugewiesen werden kann. Er rendert jede Zelle der Tabelle in der Ansicht im Stil der Anwendung.
TableView {
anchors.fill: parent
delegate: TableViewDelegate {}
// model: yourModel
}TableViewDelegate erbt von ItemDelegate, was bedeutet, dass er aus zwei Elementen besteht: einem background und einem contentItem.
Die Position des „contentItem“ wird über „ padding “ gesteuert.
Interaktion mit Zeigern
„TableViewDelegate“ erbt von „ ItemDelegate “. Das bedeutet, dass es Signale wie „ clicked “ aussendet, wenn der Benutzer auf den Delegaten klickt. Sie können dieses Signal abhören, um anwendungsspezifische Funktionen zu implementieren.
Die „ ItemDelegate “-API liefert jedoch keine Informationen über die Position des Klicks oder darüber, welche Modifikatortasten gedrückt gehalten werden. Wenn dies erforderlich ist, empfiehlt sich die Verwendung von Zeiger-Handlern, zum Beispiel:
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 (z. B. das Ändern des aktuellen Index), können Sie „ pointerNavigationEnabled “ auf „ false “ setzen.
Bearbeiten von Zellen in der Tabelle
„TableViewDelegate“ ist standardmäßig ein „ edit delegate “ zugewiesen. Wenn für „ TableView “ „ edit triggers “ festgelegt ist und der „ model “ „ editing model items “ unterstützt, kann der Benutzer jeden der Bearbeitungsauslöser aktivieren, um den Text der „ current “-Tabellenzelle zu bearbeiten.
Der Standard-Bearbeitungsdelegat verwendet den „ Qt.EditRole “, um Daten aus der „ model “ zu lesen und in diese zu schreiben. Wenn Sie eine andere Rolle verwenden müssen oder anderweitige Anforderungen haben, die über die Möglichkeiten des Standard-Bearbeitungsdelegaten hinausgehen, können Sie jederzeit einen eigenen Delegaten der „ TableView.editDelegate “ zuweisen.
Siehe auch „Anpassen von TableViewDelegate und TableView “.
Dokumentation zu den Eigenschaften
current : bool
Diese Eigenschaft gilt unabhängig davon, ob der Delegat das „ current index “ im „ selection model “ repräsentiert oder nicht.
editing : bool
Diese Eigenschaft gilt unabhängig davon, ob der Delegat gerade als „ edited “ fungiert oder nicht.
selected : bool
Diese Eigenschaft gilt unabhängig davon, ob der Delegat ein „ selected index “ im „ selection model “ darstellt oder nicht.
tableView : TableView
Diese Eigenschaft verweist auf die „ TableView “, die das Delegate-Element enthält.
© 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.