首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QSortFilterProxyModel与动态排序

QSortFilterProxyModel与动态排序
EN

Stack Overflow用户
提问于 2016-07-20 09:58:09
回答 1查看 1.4K关注 0票数 3

我使用继承QSortFilterProxyModel的类只对表视图中的行进行排序。

我启用了dynamicSort,以确保即使在加载模型或添加行时,我的视图也保持排序(我已经检查modelReset()rowsInserted()是否由我的模型正确地发出)。

但出于某种原因,我的行没有排序。

对于启用动态排序,有什么特定的操作吗?

难道根本就不是setDynamicSortFilter所做的吗?

是否有一种在发出这些信号时手动调用排序的方法?(每次我尝试这样做时,从模型的data()中只能得到无效的变体,从源判断,信号是在QSortFilterProxyModel完成重新设置之前发出的)

无论如何,任何帮助都是欢迎的,试图找出这应该如何运作,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-07-20 10:10:05

来自dynamicSortFilter文档:

请注意,当dynamicSortFilter为真时,不应通过代理模型更新源模型。例如,如果在QComboBox上设置代理模型,那么使用更新模型的函数(例如addItem() )的将不能像预期的那样工作。的另一种选择是将dynamicSortFilter设置为false,并在向QComboBox添加项后调用

是否有一种在发出这些信号时手动调用排序的方法?(每次我尝试这样做时,从模型的数据()中只能得到无效的变体,从源判断,信号是在QSortFilterProxyModel完成重新设置之前发出的)

我认为,如果您将dynamicSortFilter设置为false,那么您对sort的手动调用将不会(很糟糕)拦截QSortFilterProxyModel的内部更新。至少我可以告诉您,这是我在类似场景中所做的事情,对我来说很好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38478074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档