详细描述
不像默认的委托,
QSqlRelationalDelegate为关联到其他表的外键字段提供一个组合框(下拉列表框)。使用这个类,简单地在视图中用一个
QSqlRelationalDelegate 实例调用
QAbstractItemView::setItemDelegate() 。
QTableView *view = new QTableView;
view->setModel(model);
view->setItemDelegate(new QSqlRelationalDelegate(view));
Relational Table Model例子(可在Qt帮助中查找,后续将会讲解这个例子)演示了怎么结合
QSqlRelationalDelegate 来使用
QSqlRelationalTableModel 以提供带有外键支持的表。
示例运行截图如下:
相关API
QSqlRelationalDelegate::QSqlRelationalDelegate(QObject *parent = 0)
用给定的父对象parent构造一个
QSqlRelationalDelegate 对象。
QSqlRelationalDelegate::~QSqlRelationalDelegate()
销毁
QSqlRelationalDelegate对象并释放任何已经分配的资源。
[virtual] QWidget *QSqlRelationalDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
重新实现
QAbstractItemDelegate::createEditor()。
[virtual] void QSqlRelationalDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
重新实现
QAbstractItemDelegate::setModelData()。