コンテンツをフィルタリングしたい QTreeView があります。これらのコンテンツを最上位の子 (ルート インデックスのすぐ下にある子) でのみフィルター処理したいと考えています。現在、QTreeView サブクラスで単純なフィルタリング メソッドを作成し、一致しない行を選択的に非表示にすることで、これを実現しています。
上記のアプローチはうまく機能しているように見えますが、QSortFilterProxyModel を使用してこれを再実装する必要があるかどうか疑問に思っています。もしそうなら、どのような利点がありますか?
QSortFilterProxyModel の使用に変更した場合、いくつかの (できれば小さな) 質問があります。
1)トップレベルの子のみをフィルタリングしているため、実際にソートを行っていたメソッドを再実装して、すべての孫をそのままにしておく必要がありますよね?
2) 私のデータ モデルには、独自のキーボード ナビゲーションなどを担当する多数のカスタム メソッドが含まれています。これらをプロキシ モデルに再実装し、データ モデルのメソッドを指すようにしますか? その場合、モデルを参照するにはどうすればよいですか? QTreeView の model() メソッドに相当するものを見つけることができないようです。
ありがとう!