首页 > 解决方案 > 将模型数据绑定到视图并更新后者的正确方法

问题描述

我正在使用 Python+Qt (PyQt5) 一段时间,我想知道将模型结构(比如说List对象)绑定到视图表示(比如说QListWidgets)的最有效(和正确)方法是什么当前者被修改(添加/删除/修改元素)时,实现后者的安全高效更新。我正在考虑不同的策略,例如:

有什么建议吗?我想强调“ List[MyObject]vs. QWidgetList”只是我目前正在研究的主题,但我的问题应该尽可能笼统。

编辑

感谢@BrenBarn 和@musicamante,我来到了英亩的模型/视图架构,因此QAbstractListModel的继承有助于轻松处理QListView. 唯一的缺点是每次更新模型(插入/删除/编辑)时,QAbstractListModel.dataChanged都要手动发射信号

标签: pythonpyqtpyqt5model-view

解决方案


推荐阅读