我有一個QTreeView,我希望篩選其中的內容。我只希望過濾頂級子級(即根目錄下的子級)的這些內容。目前我正在通過在我的QTreeView子類中創建一個簡單的過濾方法並選擇性地隱藏那些不匹配的行來完成此操作。QTreeView:篩選內容 - 尋找最佳實踐
雖然上面的方法似乎工作正常,我想知道是否應該重新實現這個使用QSortFilterProxyModel。如果是這樣,那麼優勢是什麼?
如果我改變使用QSortFilterProxyModel,我有幾個(希望小)問題:
1)因爲我在頂級兒童進行篩選,我將不得不重新實現任何方法是實際上是爲了讓所有的孫子獨自離開而進行分類,對吧?
2)我的數據模型有一些自定義的方法,它負責獨特的鍵盤導航等。我是否會在代理模型中重新實現這些模型,並讓它們指向我的數據模型的方法?如果是這樣,我如何參考模型?我似乎無法找到任何與QTreeView的model()方法相媲美的東西。
謝謝!