我使用自定义QSortFilterProxyModel
来通过重写filterAcceptsRow()
来实现对QTableView
的自定义过滤。当我改变过滤条件时,如何在整个表格上应用filterAcceptsRow()
后,我的应用程序如何得到通知?QSortFilterProxyModel过滤完成信号
基本上,我想在应用过滤之后获取可见项目的列表,目前我通过自定义函数计算此列表,该自定义函数在我的模型中实现,该函数在行上迭代并获取可见行的列表。这是低效率的,因为如果在两者之间没有发生过滤操作,对这个函数的两次调用将产生相同的结果。
Qt MVC不适用于可见项目的范围。模型不应该对视图有所了解。因为您可以为多个视图使用一个模型。 –
我需要的是过滤处理完成时的通知。 – Mohamed
没有这样的通知。因为排序正在“即时”进行。当你添加一个新的项目时 - 自动应用排序。 –