在GtkTreeView中按字母顺序排序数据?

时间:2010-04-16 12:21:07

标签: c++ gtk gtk2

我正在尝试按字母顺序对GTK树视图中的一列数据进行排序。我似乎无法在GTK +库中找到一个不能做这样的功能。

有没有人知道这样做的方法?

更新:

以下是我目前正在尝试使用的代码:

column = gtk_tree_view_column_new();

gtk_tree_view_column_set_title(column, "Memory");

gtk_tree_view_column_set_resizable(column, TRUE);
gtk_tree_view_column_set_reorderable(column, TRUE);
gtk_tree_view_column_set_sort_indicator(column, TRUE);
/**********************************************************
gtk_tree_view_column_set_sort_column_id(column, 3);
gtk_tree_sortable_set_sort_column_id(column, 3, GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID);
**********************************************************/

gtk_tree_view_append_column(GTK_TREE_VIEW(rendered_view), column);

c_renderer = gtk_cell_renderer_text_new();

gtk_tree_view_column_pack_start(column, c_renderer, TRUE);

gtk_tree_view_column_add_attribute(column, c_renderer, "text", MEMORY);

1 个答案:

答案 0 :(得分:2)

请参阅GtkTreeSortable界面,该界面允许您设置自定义排序功能。

请注意,常用的标准GtkListStore模型实现了GtkTreeSortable。

您可能还需要调用gtk_tree_sortable_set_sort_column_id()来选择要排序的列。这使用“sort column id”的概念,它与列索引不同。您需要使用gtk_tree_view_column_set_sort_column_id()在创建单个GtkTreeViewColumns时在各个GtkTreeViewColumns上设置正确的列ID。

为了更好地理解所涉及的概念,

This tutorial可能是一本很好的阅读材料。