|  | Home · All Classes · Modules

# QSqlRelationalDelegate Class Reference
[QtSql module]

The QSqlRelationalDelegate class provides a delegate that is used to display and edit data from a QSqlRelationalTableModel. More...

Inherits QItemDelegate.

### Methods

- __init__ (self, QObject parent = None)
- QWidget createEditor (self, QWidget, QStyleOptionViewItem, QModelIndex)
- setEditorData (self, QWidget, QModelIndex)
- setModelData (self, QWidget, QAbstractItemModel, QModelIndex)

## Detailed Description

The QSqlRelationalDelegate class provides a delegate that is used to display and edit data from a QSqlRelationalTableModel.

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.

## Method Documentation

### QSqlRelationalDelegate.__init__ (self, QObject parent = None)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

Constructs a QSqlRelationalDelegate object with the given parent.

### QWidget QSqlRelationalDelegate.createEditor (self, QWidget, QStyleOptionViewItem, QModelIndex)

The QWidget argument, if not None, causes self to be owned by Qt instead of PyQt.

Reimplemented from QAbstractItemDelegate.createEditor().

### QSqlRelationalDelegate.setEditorData (self, QWidget, QModelIndex)

Reimplemented from QAbstractItemDelegate.setEditorData().

### QSqlRelationalDelegate.setModelData (self, QWidget, QAbstractItemModel, QModelIndex)

Reimplemented from QAbstractItemDelegate.setModelData().