QSqlRelationalDelegate Class
The QSqlRelationalDelegate class provides a delegate that is used to display and edit data from a QSqlRelationalTableModel. More...
#include <QSqlRelationalDelegate> Inherits: QItemDelegate.
Public Types
enum | EndEditHint { NoHint, EditNextItem, EditPreviousItem, SubmitModelCache, RevertModelCache } |
Public Functions
| QAbstractItemDelegate(QObject * parent = 0) |
| QSqlRelationalDelegate(QObject * parent = 0) |
virtual | ~QAbstractItemDelegate() |
| ~QSqlRelationalDelegate() |
virtual QWidget * | createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const |
virtual void | destroyEditor(QWidget * editor, const QModelIndex & index) const |
virtual bool | editorEvent(QEvent * event, QAbstractItemModel * model, const QStyleOptionViewItem & option, const QModelIndex & index) |
virtual bool | helpEvent(QHelpEvent * event, QAbstractItemView * view, const QStyleOptionViewItem & option, const QModelIndex & index) |
virtual void | paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const = 0 |
virtual void | setEditorData(QWidget * editor, const QModelIndex & index) const |
virtual void | setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index) const |
virtual QSize | sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const = 0 |
virtual void | updateEditorGeometry(QWidget * editor, const QStyleOptionViewItem & option, const QModelIndex & index) const |
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 |
Signals
Additional Inherited Members
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.
|