QSqlRelationalDelegate 类

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

头: #include <QSqlRelationalDelegate>
qmake: QT += sql
继承: QItemDelegate

公共函数

QSqlRelationalDelegate (QObject * parent = nullptr)
virtual ~QSqlRelationalDelegate ()

重实现公共函数

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

详细描述

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 关系表模型 example (shown below) illustrates how to use QSqlRelationalDelegate in conjunction with QSqlRelationalTableModel to provide tables with foreign key support.

另请参阅 QSqlRelationalTableModel and 模型/视图编程 .

成员函数文档编制

QSqlRelationalDelegate:: QSqlRelationalDelegate ( QObject * parent = nullptr)

构造 a QSqlRelationalDelegate 对象采用给定 parent .

[虚拟] QSqlRelationalDelegate:: ~QSqlRelationalDelegate ()

销毁 QSqlRelationalDelegate 对象并释放任何分配资源。

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

重实现: QItemDelegate::createEditor (QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const.

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

重实现: QItemDelegate::setModelData (QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const.