Exemple de liste deroulante en gtk+

5/5 (2 avis)

Snippet vu 23 079 fois - Téléchargée 38 fois

Contenu du snippet

Voici un exemple de liste deroulante en GTK+.

Source / Exemple :


// combo.c
// exemple de combobox en gtk+ (liste deroulante)

#include <stdio.h>
#include <gtk/gtk.h>

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

	GtkWidget *Dialogue, *Combo, *Bouton;
	GList *list = NULL;
	gint i;

	gtk_init(&argc, &argv);

	Dialogue = gtk_dialog_new();
	gtk_window_set_title(GTK_WINDOW(Dialogue), "Exemple de combo box");

	gtk_widget_show(Dialogue);

	for(i=0; i<10; i++)
		list = g_list_append(list, g_strdup_printf("chaine %d", i)); // ajoute une chaine a le liste

	Combo = gtk_combo_new(); // cree une liste deroulante
	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(Dialogue)->vbox), Combo, TRUE, TRUE, 0); 
	gtk_combo_set_popdown_strings( GTK_COMBO(Combo), list) ; // met la liste dans la conbo box
	gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(Combo)->entry), "coucou"); // definit le texte de la conbo box

	gtk_widget_show(Combo);

	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(Bouton);

	gtk_main();
	
	return(0);
}

Conclusion :


bien evidement il y a d'autre fonction qui permettent d'agir sur ce widget. Pour les connaitre consulte le http://www.gtk.org

A voir également

Ajouter un commentaire Commentaires
Yunchi Messages postés 100 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 14 avril 2009
7 août 2007 à 06:56
oh on peut se servir d'un GTK_DIALOG comme d'un box :) en plus vbox ou hbox au choix o_O
cs_nobe Messages postés 2 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 13:15
Mais comment fais tu pour recuperer le choix selectionner au final ? Jje vois bien une fonction mais c'est pour les ComboBox et elle ne semble pas fonctionner dans ce cas :/

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.