2013-03-21 3 views
1

Есть ли способ получить представление в следующем скриншоте от Gtk?сгруппированный просмотр списка в gtk

Я пробовал treeview, но это не автоматически отфильтровывает группу.

KDELibs эквивалент KKategorizedView.

example

Edit: Мой случай использования это нравится: , например, как на скриншоте, если я типа Мифология, AOE и AOE III не будет показано, так как нет матч в рамках этой группы.

Если я пытаюсь использовать древовидную структуру, то родительский узел не может быть легко фильтрован, так как фильтрмодель не может легко зависеть от отфильтрованного результата.

+0

Что вы подразумеваете под «автоматически не отфильтровывает группу»? – ergosys

ответ

0

вы можете использовать GtkTreeView с GtkTreeStore, но нет никакого витрины с внешним видом виджета KDE.

в качестве альтернативы, вы можете иметь различные GtkTreeView экземпляров, каждый из которых внутри GtkFrame и каждый из которых использует GtkTreeModelFilter, чтобы применить фильтр к тому же GtkListStore или GtkTreeStore, так что вы можете сохранить эти данные в одном хранилище.

макет будет выглядеть следующим образом:

GtkBox 
+---- GtkFrame 
|  +---- GtkTreeView 
| 
+---- GtkFrame 
|  +---- GtkTreeView 
| 
+---- GtkFrame 
|  +---- GtkTreeView 
| 
... 

GtkTreeModelFilter может быть установлен, чтобы отфильтровать все строки внутри источника GtkListStore или GtkTreeStore, которые соответствуют «категории» вы хотите.

+0

Я обновил некоторые из моих вариантов использования, на самом деле мне нужно, чтобы «GtkFrame» был спрятан, если он пуст, и у меня, может быть, сотни групп, я не знаю, чтобы создать такой виджет, это хорошая идея или нет. – csslayer

Смежные вопросы