У меня есть QTreeView, в котором я хочу фильтровать содержимое.Я только хочу отфильтровать это содержимое на дочерних элементах верхнего уровня (те, которые находятся непосредственно под корневым индексом).В настоящее время я выполняю это путем создания простого метода фильтрации в моем подклассе QTreeView и выборочно скрываю те строки, которые не совпадают.
Хотя приведенный выше подход, кажется, работает нормально, мне интересно, следует ли мне повторно реализовать этоиспользуя QSortFilterProxyModel.Если это так, какие будут преимущества?
Если я перейду к использованию QSortFilterProxyModel, у меня возникнет несколько (надеюсь, небольших) вопросов:
1) Поскольку я фильтрую только по дочерним элементам верхнего уровня, мне придется повторнореализовать любой метод, который фактически выполнял сортировку, чтобы все внуки остались одни, верно?
2) В моей модели данных есть несколько пользовательских методов, которые отвечают за уникальную навигацию с помощью клавиатуры и тому подобное.Могу ли я повторно реализовать их в прокси-модели и указать им методы моей модели данных?Если да, то как мне ссылаться на модель?Кажется, я не могу найти ничего похожего на метод model () в QTreeView.
Спасибо!