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);
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top