【发布时间】:2010-12-13 07:47:21
【问题描述】:
我有一个普通的 QTreeView、一个自定义的 QAbstractItemModel 和一个自定义的 QSortFilterProxyModel。
我重新实现了 QSortFilterProxyModel::filterAcceptsRow 以按照我想要的方式从我的模型中过滤项目,但是现在我希望在树视图中展开这些过滤的项目。
显而易见的解决方案是在找到接受的项目时从 QSortFilterProxyModel::filterAcceptsRow() 发出信号,然后将该信号连接到 QTreeView::expand()。
但是,QSortFilterProxyModel::filterAcceptsRow() 是 const,因此我无法从该方法内部发出信号。 QSortFilterProxyModel 没有任何其他信号可以帮助我.. 我开始认为我将不得不继承 QTreeView,我不想这样做(更少的代码 == 更好)。
那么,有什么方法可以自动扩展 filtermodel 接受的那些项目?
【问题讨论】: