Название: Фильтрация иерархической модели Отправлено: voltron от Март 26, 2011, 13:09 Есть DOM-модель xml-файла (сделана по примеру Simple DOM Model), для ее отображения используется QTreeView. Необходимо иметь возможность отображать как полное дерево, так и урезанное, состоящее из определенных узлов.
Как я понял, для этого нужно создать свою модель на основе QProxyFilterModel и переопределить метод filterAcceptsRow(). Вот в этом месте у меня и возникла проблема. Не совсем понятно как правильно реализовать filterAcceptsRow(), чтобы отображались только нужные узлы со своими дочерними элементами. Если я просто задаю список допустимых узлов и проверяю каждый узел на вхождение, то в результате получаю пустое дерево. Название: Re: Фильтрация иерархической модели Отправлено: voltron от Март 26, 2011, 16:49 Получилось отображать нужные узлы, но без дочерних элементов. Т.е., если у меня xml-файл такой структуры (фрагмент)
Код То чтобы отобразить узел contact нужно чтобы в списке были: xml, MD_Metadata, contact. Тогда узел отображается, но его дочерние элементы — нет. Конечно, можно и их включать в список, но это как-то не очень красиво получается. Может, есть другой способ? |