草庐IT

filterAcceptsRow

全部标签

c++ - 为什么不调用继承自 QSortFilterProxyModel 的 filterAcceptsRow?

有一个名为customSortFilterProxyModel的类继承自QSortFilterProxyModel。一个protected函数filterAcceptsRow被覆盖。但是,根本不会调用filterAcceptsRow。问题是什么?谢谢。customSortFilterProxyModel.hclasscustomSortFilterProxyModel:publicQSortFilterProxyModel{Q_OBJECTpublic:customSortFilterProxyModel(QObject*parent);~customSortFilterProxyMo

c++ - 如果过滤器严格变窄,避免对 QSortFilterProxyModel::filterAcceptsRow() 的冗余调用

有什么方法可以使QSortFilterProxyModel中的过滤器无效,但表明过滤器已缩小范围,因此应仅在当前可见的行上调用filterAcceptsRow()?目前Qt不这样做。当我调用QSortFilterProxyModel::invalidateFilter()时,我的过滤器从“abcd”更改为“abcde”,创建了一个全新的映射,并且filterAcceptsRow()是调用所有源行,即使很明显到目前为止隐藏的源行将保持隐藏状态。这是来自QSortFilterProxyModelPrivate::create_mapping()中Qt源代码的代码,它调用了我重写的filte