我正在尝试按字母顺序对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);
答案 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可能是一本很好的阅读材料。