32、模型/视图编程与数据库操作
2026/7/24 16:24:15 网站建设 项目流程

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

1. 创建自定义委托

1.1 自定义委托概述

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

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

1.2 委托的实现模式

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

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

class Main

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询