QSqlRelationalDelegate Class
The QSqlRelationalDelegate class provides a delegate that is used to display and edit data from a QSqlRelationalTableModel. More...
| Header: | #include <QSqlRelationalDelegate> |
| qmake: | QT += sql |
| Inherits: | QItemDelegate |
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 |
- 10 public functions inherited from QItemDelegate
- 9 public functions inherited from QAbstractItemDelegate
- 30 public functions inherited from QObject
Related Non-Members
| typedef | QObjectList |
| QList<T> | qFindChildren(const QObject *obj, const QRegExp ®Exp) |
| T | qobject_cast(QObject *object) |
| T | qobject_cast(const QObject *object) |
Macros
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
| Q_CLASSINFO(Name, Value) | |
| Q_DISABLE_COPY(Class) | |
| Q_DISABLE_COPY_MOVE(Class) | |
| Q_DISABLE_MOVE(Class) | |
| Q_EMIT | |
| Q_ENUM(...) | |
| Q_ENUM_NS(...) | |
| Q_FLAG(...) | |
| Q_FLAG_NS(...) | |
| Q_GADGET | |
| Q_INTERFACES(...) | |
| Q_INVOKABLE | |
| Q_NAMESPACE | |
| Q_OBJECT | |
| Q_PROPERTY(...) | |
| Q_REVISION | |
| Q_SET_OBJECT_NAME(Object) | |
| Q_SIGNAL | |
| Q_SIGNALS | |
| Q_SLOT | |
| Q_SLOTS |
Additional Inherited Members
- 1 property inherited from QItemDelegate
- 1 property inherited from QObject
- 1 public slot inherited from QObject
- 3 signals inherited from QAbstractItemDelegate
- 2 signals inherited from QObject
- 9 static public members inherited from QObject
- 7 protected functions inherited from QItemDelegate
- 9 protected functions inherited from QObject
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:
QTableView *view = new QTableView;
view->setModel(model);
view->setItemDelegate(new QSqlRelationalDelegate(view));
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
QSqlRelationalDelegate::QSqlRelationalDelegate(QObject *parent = nullptr)
Constructs a QSqlRelationalDelegate object with the given parent.
[virtual] 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: QItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const.
[override virtual] void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
Reimplements: QItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const.