5

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を1つ削除して検索キー「410」にすると、項目は表示されますが折りたたまれています。

ユーザーが手動で折りたたまない限り、アイテムを展開したままにする方法はありますか?

4

1 に答える 1

0

すべてのアイテムの折りたたみ状態を手動で確認して保存し、目的の状態に戻すことができます。

于 2014-07-30T20:07:20.067 に答える