如何过滤 QAbstractTableModel 模型
Posted
技术标签:
【中文标题】如何过滤 QAbstractTableModel 模型【英文标题】:How to Filter a QAbstractTableModel model 【发布时间】:2012-03-07 12:50:07 【问题描述】:我创建了一个名为 tableModel 的 QAbstractTableModel 模型和一个名为 listModel 的 QAbstractListModel 模型,并且我已将这些模型设置为各自的视图(QTableView 和 QListView)。我想根据 listModel 过滤 tableModel。这意味着当有人点击列表项时应根据列表项过滤表格视图。这些模型工作正常。请帮助我如何进行过滤。
在 QSqlModel 中,我们可以使用带有 sql 关系的 setFilter 成员来做到这一点。
【问题讨论】:
【参考方案1】:您需要使用QAbstractProxyModel 作为tableview 和table model 之间的中介。所以当在listmodel中点击一个item时,通知table proxy从tablemodel中过滤掉所有不需要的item,以便tableview查询它们。
【讨论】:
你有任何关于我如何使用它的例子吗...我正在阅读 QAbstractProxyModel 和 QSortFilterProxyModel ...任何示例代码...谢谢 不是我个人,我只是在一个过于简单而无法反映您需要的情况下使用它。但是网络上肯定会有一些问题,您的要求并非没有道理。以上是关于如何过滤 QAbstractTableModel 模型的主要内容,如果未能解决你的问题,请参考以下文章
如何在 QStatusBar 中显示 QAbstractTableModel 的状态?
如何在 QTableView/QAbstractTableModel 中使用多行文本/换行符?
QML TableView + QAbstractTableModel - 如何从 QML 编辑模型数据?
QAbstractTableModel 和 QSortFilterProxyModel - 如何清除数据和更新视图
如何使用 beginMoveRows 在 QTableView (QAbstractTableModel) 中移动一行?