32、模型/视图编程与数据库操作

模型/视图编程与数据库操作

1. 创建自定义委托

1.1 自定义委托概述

若要对数据项的展示和编辑进行完全控制,就需创建自定义委托。委托可单纯用于控制外观(如只读视图),或通过提供自定义编辑器来控制编辑,也可两者兼顾。

chap14/ships - delegate.pyw 应用中,使用了自定义委托 ShipDelegate ,它与 ships - model.pyw 几乎相同,区别仅在于窗口标题、调整所有列的大小(而非跳过描述列)以及使用了自定义委托。

1.2 委托的实现模式

委托和模型子类一样遵循固定模式:
- 对于只读模型的委托,仅需重新实现 paint() 方法。
- 对于可编辑模型的委托,必须重新实现 createEditor() setEditorData() setModelData() 方法。
- 若使用 QLineEdits QTextEdits 进行编辑,通常还需重新实现 commitAndCloseEditor() 方法。
- 有时需要重新实现 sizeHint() 方法。

1.3 创建第一个表格的代码示例

class Main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值