Exemple de liste a colonne en gtk+

Contenu du snippet

Voici un exemple de liste a colonne.

Source / Exemple :


// colonne.c
// Exemple de liste a colonne
//

#include <gtk/gtk.h>

int main(int argc, char *argv[])
{

	GtkWidget *Dialogue, *Bouton, *Clist;
	gchar *titles[3] = {"colonne 0","colonne 1","colonne 2"};
	gchar *info[3];
	gint i = 0;

	gtk_init(&argc, &argv);

	Dialogue = gtk_dialog_new();
	gtk_window_set_title(GTK_WINDOW(Dialogue), "Exemple de liste a colonne");

	// cree une liste avec 5 collonnes.
    Clist = gtk_clist_new_with_titles( 3, titles);
		
    // permet de cacher la bordure
    gtk_clist_set_shadow_type (GTK_CLIST(Clist), GTK_SHADOW_OUT);

    // Permet de definir la taille des la colonne
    gtk_clist_set_column_width (GTK_CLIST(Clist), 0, 80);
    gtk_clist_set_column_width (GTK_CLIST(Clist), 1, 70);
    gtk_clist_set_column_width (GTK_CLIST(Clist), 2, 60);
    

    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(Dialogue)->vbox), Clist, TRUE, TRUE, 0);
	
	for(i=0; i < 10; i++)
	{
		info[0] = g_strdup_printf("ligne %d", i);
		info[1] = g_strdup("coucou");
		info[2] = g_strdup("");
		gtk_clist_append(GTK_CLIST(Clist), info); // Ajoute une entree a la Clist
	}

/*
	// une ligne est selectionnee
    gtk_signal_connect(GTK_OBJECT(clist), "select_row",
		       GTK_SIGNAL_FUNC(selectrow),
		       NULL);
	// une ligne est deselectionnee
	gtk_signal_connect(GTK_OBJECT(clist), "unselect_row",
		       GTK_SIGNAL_FUNC(unselectrow),
		       NULL);

  • /
Bouton = gtk_button_new_with_label("Fermer"); gtk_signal_connect_object(GTK_OBJECT(Bouton), "clicked", (GtkSignalFunc)gtk_exit, NULL); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(Dialogue)->action_area), Bouton , TRUE, TRUE, 0); gtk_widget_show_all(Dialogue); gtk_main(); return(0); }

Conclusion :


vous pouvez evidement mettre autre chose que du texte dans les colonne.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.