QT笔记:数据库总结(五)之SQL模型类-QDataWidgetMapper类

本文介绍了QT开发中QDataWidgetMapper类的使用,它能将数据库记录与窗口部件双向同步。主要内容包括QDataWidgetMapper的创建、模型关联、部件映射以及记录定位。此外,还探讨了QComboBox组件在mapper中的特殊处理,包括两种实现方式:关系模型映射和使用代理类实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     QDataWidgetMapper将一个数据库记录字段反映到其映射的窗口部件中,同时将窗口部件中所做出的更改反映回数据库,关键是关联一个model和一组widget
一、步骤

1、创建 QDataWidgetMapper 对象
2、关联 model
3、关联 widgets,并创建其与model中section的映射
4、定位到某个record

 QDataWidgetMapper *mapper = new QDataWidgetMapper;
 mapper->setModel(model);
 mapper->addMapping(mySpinBox, 0);
 mapper->addMapping(myLineEdit, 1);
 mapper->toFirst();


提交方式可以设为手动:

mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);


 QComboBox组件的mapper比较特殊

第一种、在关系模型中实现mapper到QComboBox组件

QSqlRelationalTableModel *model = QSqlRelationalTableModel(this);

model->setTable("员工表");
model->setRelation(dep_id,QSqlRelation("部门表","id","name"));
 // ... 其它代码

//QComboBox与QListWidget很相
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值