Auf dieser Seite

QSqlRelationalDelegate Class

Die Klasse „QSqlRelationalDelegate“ stellt einen Delegaten bereit, der zur Anzeige und Bearbeitung von Daten aus einer „ QSqlRelationalTableModel “ dient. Mehr...

Header: #include <QSqlRelationalDelegate>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake: QT += sql
Erbt von: QStyledItemDelegate

Öffentliche Funktionen

QSqlRelationalDelegate(QObject *parent = nullptr)
virtual ~QSqlRelationalDelegate()

Neu implementierte öffentliche Funktionen

virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override

Ausführliche Beschreibung

Im Gegensatz zum Standard-Delegaten stellt QSqlRelationalDelegate eine Combobox für Felder bereit, die Fremdschlüssel in andere Tabellen sind. Um die Klasse zu verwenden, rufen Sie einfach ` QAbstractItemView::setItemDelegate()` auf der Ansicht mit einer Instanz von `QSqlRelationalDelegate` auf:

    std::unique_ptr<QTableView> view{new QTableView};
    view->setModel(model);
    view->setItemDelegate(new QSqlRelationalDelegate(view.get()));

Das Beispiel „Relational Table Model“ (siehe unten) veranschaulicht, wie man QSqlRelationalDelegate in Verbindung mit ` QSqlRelationalTableModel ` verwendet, um Tabellen mit Fremdschlüsselunterstützung auszustatten.

Der Benutzer kann einen Fremdschlüssel in einer relationalen Tabelle bearbeiten.

Siehe auch „ QSqlRelationalTableModel “ und „Modell-View-Programmierung“.

Dokumentation zu den Mitgliedsfunktionen

[explicit] QSqlRelationalDelegate::QSqlRelationalDelegate(QObject *parent = nullptr)

Erstellt ein QSqlRelationalDelegate-Objekt mit dem angegebenen ` parent`.

[virtual noexcept] QSqlRelationalDelegate::~QSqlRelationalDelegate()

Löscht das „ QSqlRelationalDelegate “-Objekt und gibt alle zugewiesenen Ressourcen frei.

[override virtual] QWidget *QSqlRelationalDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const

Implementiert neu: ` QStyledItemDelegate::createEditor` (QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const.

[override virtual] void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const

Implementiert: ` QStyledItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const`.

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