您的位置:首页 > 编程语言 > Qt开发

Qt 之 QSqlRelationalDelegate Class

2017-09-08 16:40 218 查看

详细描述

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()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息