2013-03-21 54 views
1

有没有一种方法可以通过Gtk实现下面的截图中的视图?gtk中的分组列表视图

我试过treeview,但它不会自动过滤掉这个组。

KDELibs相当于KCategoryView。

example

编辑: 我的使用情况下,它想: 例如像截屏,如果我键入神话,AOE和AOE III将不会被显示,由于该组下不匹配。

如果我尝试使用treeview,不能很容易地过滤父节点,因为filtermodel不能轻易依赖于过滤结果。

+0

你是什么意思“不会自动过滤出组”? – ergosys 2013-03-22 19:30:10

回答

0

您可以使用GtkTreeViewGtkTreeStore,但没有任何具有KDE小部件外观的库存控件。

替代地,可以有不同的GtkTreeView实例中,每一个内部GtkFrame和各自使用GtkTreeModelFilter到过滤器适用于同一GtkListStoreGtkTreeStore,这样就可以保持一个单一的存储内的数据。

布局会是什么样子:

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

GtkTreeModelFilter可以设置过滤匹配的“类别”是GtkListStoreGtkTreeStore你想要的源中的所有行。

+0

我更新了一些关于我的用例,实际上我需要那个“GtkFrame”隐藏,如果它是空的,我可能有数百个组,我不知道创建那么多的widget是一个好主意或不。 – csslayer 2013-03-23 18:06:34