我正在使用 QSortFilterProxyModel 为 QTreeView 实现增量搜索字段。搜索字段是一个 QLineEdit,如下所示:
self.ui_search_lineedit.textEdited[unicode].connect(self._onSearchEdited)
我的 _onSearchEdited 函数看起来像:
def _onSearchEdited(self, text):
self.proxy_model.setFilterFixedString(text)
self.ui_treeview.clearSelection()
但是,如果我在树视图中展开一个项目并进行搜索,如果该项目不匹配,它将消失。当我删除我的搜索关键字以使其与该项目匹配时,该项目将再次显示,但它已折叠。例如,如果我的项目是“410”并且我已经扩展了它;我在搜索栏中输入“4100”,该项目将被隐藏;但如果我删除一个 0 以使搜索键为“410”,该项目将显示但它已折叠。
除非用户手动折叠它,否则有什么方法可以使该项目保持展开状态?