防止QTreeView项目在滤除后自动折叠

防止QTreeView项目在滤除后自动折叠

问题描述:

我正在使用QSortFilterProxyModel为QTreeView实现增量搜索字段。搜索字段是一个QLineEdit的如下:防止QTreeView项目在滤除后自动折叠

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”,该项目将显示,但它被折叠。

是否有任何方法可以使项目保持展开状态,除非用户手动折叠它?

您可以手动检查并存储每个项目折叠状态,然后将其返回到所需的状态。

+0

哪里?怎么样?例? – Rafe