#include <gtk/gtk.h> enum { COL_ICON = 0, COL_TEXT, NUM_COLS }; void Ajouter_TreeviewItem(GtkListStore *store, gchar* titre, gchar* img) { GtkTreeIter iter; GdkPixbuf *icon; GError *error = NULL; icon = gdk_pixbuf_new_from_file(img, &error); if (error) { g_warning ("Could not load icon: %s\n", error->message); g_error_free(error); error = NULL; } gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter,COL_ICON, icon, COL_TEXT, titre,-1); } GtkWidget * create_treeview(gchar* titre) { GtkTreeModel *model; GtkTreeViewColumn *col; GtkCellRenderer *renderer; GtkWidget *view; GtkListStore *store; store = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); model = GTK_TREE_MODEL(store); Ajouter_TreeviewItem(store,"un" ,"../gtk.png"); Ajouter_TreeviewItem(store,"deux","../gtk.png"); view = gtk_tree_view_new_with_model(model); col = gtk_tree_view_column_new(); gtk_tree_view_column_set_title(col, titre); renderer = gtk_cell_renderer_pixbuf_new(); gtk_tree_view_column_pack_start(col, renderer, FALSE); gtk_tree_view_column_set_attributes(col, renderer,"pixbuf", COL_ICON,NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_column_pack_start(col, renderer, TRUE); gtk_tree_view_column_set_attributes(col, renderer,"text", COL_TEXT,NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(view), col); gtk_widget_show_all(view); return view; } int main (int argc, char **argv) { GtkWidget *window; GtkWidget *view; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(window, "delete_event", gtk_main_quit, NULL); view = create_treeview("Titre Treeview"); gtk_container_add(GTK_CONTAINER(window), view); gtk_widget_show_all(window); gtk_main(); return 0; }