描述
QSqlRelationalDelegate
链接: https://blog.csdn.net/MrHHHHHH/article/details/134690139
QSqlRelationalTableModel
类为单个数据库表提供了一个可编辑的数据模型,并支持外键。
QSqlRelationalTableModel
的行为类似于QSqlTableModel
,但允许将列设置为其他数据库表的外键。
左边的屏幕截图显示了QTableView
中一个普通的QSqlTableModel
。外键(城市和国家)不能解析为人类可读的值。
右边的屏幕截图显示了一个QSqlRelationalTableModel
,外键被解析为人类可读的文本字符串。
下面的代码片段展示了如何建立QSqlRelationalTableModel
:
setRelation()
函数调用在两个表之间建立关系。第一个调用指定表employee
中的第2列是一个外键,它映射表city的字段id,并且视图应该向用户显示城市的名称字段。第二个调用对列3执行类似的操作。
如果使用读写的QSqlRelationalTableModel
,可能希望在视图上使用QSqlRelationalDelegate
。与默认委托不同,QSqlRelationalDelegate
为作为其他表的外键的字段提供了一个组合框。要使用该类,只需在带有QSqlRelationalDelegate
实例的视图上调用QAbstractItemView::setItemDelegate()
:
常用方法
示例
结果
注意
结论
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。