Qt 4.6: QSqlRelationalDelegate Class Reference

|  | Home · All Classes · Overviews |

# QSqlRelationalDelegate Class Reference
[QtSql module]

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

     #include <QSqlRelationalDelegate>

Inherits QItemDelegate.

- List of all members, including inherited members

## Public Functions

| QSqlRelationalDelegate ( QObject * parent = 0 )
| ~QSqlRelationalDelegate ()

## Reimplemented Public Functions

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

- 10 public functions inherited from QItemDelegate
- 7 public functions inherited from QAbstractItemDelegate
- 29 public functions inherited from QObject

### Additional Inherited Members

- 1 property inherited from QItemDelegate
- 1 property inherited from QObject
- 1 public slot inherited from QAbstractItemDelegate
- 1 public slot inherited from QObject
- 3 signals inherited from QAbstractItemDelegate
- 1 signal inherited from QObject
- 5 static public members inherited from QObject
- 7 protected functions inherited from QItemDelegate
- 7 protected functions inherited from QObject

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

## Member Function Documentation

### QSqlRelationalDelegate::QSqlRelationalDelegate ( QObject * parent = 0 )

Constructs a QSqlRelationalDelegate object with the given parent.

### QSqlRelationalDelegate::~QSqlRelationalDelegate ()

Destroys the QSqlRelationalDelegate object and frees any allocated resources.

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

Reimplemented from QAbstractItemDelegate::createEditor().

### void QSqlRelationalDelegate::setEditorData ( QWidget * editor, const QModelIndex & index ) const `[virtual]`

Reimplemented from QAbstractItemDelegate::setEditorData().

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

Reimplemented from QAbstractItemDelegate::setModelData().