在使用QSortFilterProxyModel过滤QTableView后保留选择
Keep the selection after filtering a QTableView with a QSortFilterProxyModel
我创建了一个链接到另一个模型的QTableView
的QSortFilterProxyModel
。在QTableView
下(在GUI中)有一个QLineEdit
用于"搜索"视图中的元素。
我的想法是在QLineEdit
中编写我正在寻找的内容,并让视图仅显示匹配的元素。过滤后,我想选择相关项目,然后清除QLineEdit
,以便在完整视图返回。一切正常,但选中的项目将被过滤,也将失去选择,因为无效。
我该如何解决这个问题?
为什么不在过滤之前记住选中的行,然后在过滤完成后再恢复呢?
我想您可以直接使用QItemSelectionModel
。
过滤前使用QItemSelectionModel::selectedRows()
,过滤后使用QItemSelectionModel::select()
选择行。
我知道这个帖子很老了,但我想我应该留下评论给其他遇到类似问题的人。
从你写的看起来问题是在QTableView
失去选择,当你清理你的QLineEdit
内容。如果您在行编辑的editingFinished()或textChanged()信号中开始'搜索'例程,您可以在更改QLineEdit
之前断开连接,然后重新连接回来。或者使用布尔标志,并且在打开过滤时不更改过滤。如果您将代码的简化版本与您所遇到的问题一起发布,那么回答您的问题将容易得多。
相关文章:
- 如何使用默认参数等选择模板专业化
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 有根的二进制搜索树.保留与其父级的链接
- 选择要调用的构造函数
- 为多个会话保留XPtr
- C++选择排序算法中的逻辑错误
- QTreeView幻灯片多选后无法使用单击选择
- 无法获取菜单选择以运行函数.C++
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 在C++中,如何通过几种类型从元组中选择多个元素
- 讨论 - 创建矩阵时的数组与向量的向量 - 什么是最实用的选择
- 对可变参数使用声明.如何选择正确的功能
- 保留对其他类的成员函数的引用
- 选择选举获胜者的程序
- 如何选择在 csv 文件中输出的位置
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 指针保留字符串
- 程序在尝试猜测它选择的随机数时进入无限循环?
- 如何配置QTreeView以在使用箭头键移动时保留多项选择
- 在使用QSortFilterProxyModel过滤QTableView后保留选择