c++ - 使用 QSortFilterProxyModel 过滤 QTableView 后保留选择

标签 c++ qt4 qtableview

我创建了一个 QTableView 链接到一个 QSortFilterProxyModel 链接到另一个模型。 在 QTableView 下(在 GUI 中)有一个 QLineEdit 用于“搜索” View 中的元素。

我的想法是在QLineEdit 中写入我要查找的内容,让 View 只显示匹配的元素。过滤后,我想选择相关项目,然后清除 QLineEdit 以在完整 View 中返回。 一切正常,但将被过滤的所选项目也会因为失效而失去选择。

我该如何解决这个问题?

最佳答案

为什么不记住过滤前选择的行,然后在完成过滤后恢复它。

我想您可以直接使用 QItemSelectionModel

过滤前使用QItemSelectionModel::selectedRows(),过滤后使用QItemSelectionModel::select()选择行。

我知道这个帖子很旧,但我想我会为遇到类似问题的其他人留下评论。

关于c++ - 使用 QSortFilterProxyModel 过滤 QTableView 后保留选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5552895/

相关文章:

c++ - 如何在不阻塞的情况下将所有数据写入QLocalSocket::write?

python - 编辑 QTableView 单元格值

python-3.x - 在 QTableView 中正确使用 QComboBox - 设置数据和清除 QComboBox 的问题

python - 如何使用 PyQt5/PySide2 显示 Pandas 数据框

c++ - 如何检索类 :function with clang

c++ - shell 扩展 : DragQueryFile returns at most 16 (in Windows 7)

qt4 - 在Qt中获取Windows上的MAC地址

android - 如何将 Qt 4.8 移植到 Android 平台

c++ - 如何在 C++ double 或 int 变量中存储某种 "null"?

c++ - C++ 中方法的 const 和非 const 版本之间的区别