QT QML链式使用QAbstractListModel与QSortFilterProxyModel遇数据更新问题
问题描述
我正在开发一个以动态变化的大型JSON为输入的项目,JSON中的数据随时可能被添加、删除或修改。需要在QML中访问这些数据,并实现排序和过滤功能,且希望采用规范的实现方式。
已做的实现尝试:
- 在C++中将输入数据拆分为多个基于
QAbstractListModel的视图模型,避免直接向QML暴露QList元素 - 计划将这些模型与多个
QSortFilterProxyModel链式结合,形成「原始列表→过滤→排序→限制输出X条」的处理流程
遇到的问题:
- 数据更新时输出出现空项
- 目前只能使用
beginResetModel()和endResetModel()进行全量模型重置,无法使用beginRemoveRows()这类精细更新函数,完全违背了使用QAbstractListModel的初衷 - 已创建可复现该问题的示例项目
内容的提问来源于stack exchange,提问作者Finitely Failed
相关产品推荐
相关产品推荐

