QSqlRelationalDelegate Class
The QSqlRelationalDelegate class provides a delegate that is used to display and edit data from a QSqlRelationalTableModel. More...
Header: | #include <QSqlRelationalDelegate> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Sql) target_link_libraries(mytarget PRIVATE Qt6::Sql) |
qmake: | QT += sql |
Inherits: | QStyledItemDelegate |
Public Functions
QSqlRelationalDelegate(QObject *parent = nullptr) | |
virtual | ~QSqlRelationalDelegate() |
Reimplemented Public Functions
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 |
Detailed Description
Unlike the default delegate, QSqlRelationalDelegate provides a combobox for fields that are foreign keys into other tables. To use the class, simply call QAbstractItemView::setItemDelegate() on the view with an instance of QSqlRelationalDelegate:
std::unique_ptr<QTableView> view{new QTableView}; view->setModel(model); view->setItemDelegate(new QSqlRelationalDelegate(view.get()));
The Relational Table Model example (shown below) illustrates how to use QSqlRelationalDelegate in conjunction with QSqlRelationalTableModel to provide tables with foreign key support.
See also QSqlRelationalTableModel and Model/View Programming.
Member Function Documentation
[explicit]
QSqlRelationalDelegate::QSqlRelationalDelegate(QObject *parent = nullptr)
Constructs a QSqlRelationalDelegate object with the given parent.
[virtual noexcept]
QSqlRelationalDelegate::~QSqlRelationalDelegate()
Destroys the QSqlRelationalDelegate object and frees any allocated resources.
[override virtual]
QWidget *QSqlRelationalDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
Reimplements: QStyledItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const.
[override virtual]
void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
Reimplements: QStyledItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const.