Qt 之 QSqlRelationalDelegate Class

来源:互联网 发布:炉石传说淘宝充值 编辑:程序博客网 时间:2024/06/08 02:00

详细描述

QSqlRelationalDelegate类提供一个委托用于显示和编辑来自QSqlRelationalTableModel.的数据。
不像默认的委托,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()。


原创粉丝点击