Sortieren von Daten in GtkTreeView nicht alphabetisch?
Frage
Ich versuche, eine Spalte von Daten in einer GTK Baumansicht nicht alphabetisch zu sortieren. Ich kann nicht scheinen, eine Funktion in den GTK + Bibliotheken zu finden, die so etwas tun können nicht.
Hat jemand hier weiß einen Weg, dies zu tun?
UPDATE:
Im Folgenden wird der Code im derzeit zu verwenden versuchen:
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);
Lösung
Sehen Sie die GtkTreeSortable
-Schnittstelle, die Sie Ihre benutzerdefinierte Sortierfunktion festlegen kann.
Beachten Sie, dass der üblicherweise verwendete Standard GtkListStore
Modell implementiert GtkTreeSortable.
Sie können auch auf Anruf gtk_tree_sortable_set_sort_column_id()
müssen auswählen, welche Spalte zu sortieren. Dies nutzt das Konzept der „Sortierspalte ID“, die nicht das gleiche wie Spaltenindex ist. Sie müssen die richtige Spalte-ID auf den einzelnen GtkTreeViewColumns setzen, wenn Sie sie erstellen, mit gtk_tree_view_column_set_sort_column_id () .
Dieses Tutorial könnte gute Lektüre, ein besseres Verständnis für die Konzepte bekommen beteiligt.