Exemple de fenetre en gtk+

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 446 fois - Téléchargée 38 fois

Contenu du snippet

Voila un exemple pour savoir comment fonctionne les fenetre, haut niveau et de dialogue. Mais on peut egalement faire des fenetre transparante ;).

Source / Exemple :


// window.c
// Exemple de fenetre en gtk+

#include <gtk/gtk.h>

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

	GtkWidget *Fenetre, *Dialogue, *Label, *Bouton, *Bt;

	gtk_init(&argc, &argv);

	// cree une fenetre haut niveau
	Fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(Fenetre), "Fenetre principale");
	// pour quitter proprement le programme lorsque vous appuyez sur la croix.
	gtk_signal_connect_object(GTK_OBJECT(Fenetre), "destroy", (GtkSignalFunc)gtk_exit, NULL);
	gtk_signal_connect_object(GTK_OBJECT(Fenetre), "delete_event", (GtkSignalFunc)gtk_exit, NULL);

	
	// y donne une taille par defaut
	gtk_widget_set_usize(GTK_WIDGET(Fenetre), 200, 100);

	// permet de placer la fenetre au centre ou GTK_WIN_POS_MOUSE et GTK_WIN_POS_NONE
	gtk_window_set_position(GTK_WINDOW(Fenetre), GTK_WIN_POS_CENTER);

	// cree une fenetre de dialogue -moin decore
	// elle possede deux container separe par une barre
	Dialogue = gtk_dialog_new();
	//met la boite de dialoque en modal
	gtk_window_set_modal(GTK_WINDOW(Dialogue), TRUE);
	gtk_window_set_position(GTK_WINDOW(Fenetre), GTK_WIN_POS_MOUSE);
	gtk_window_set_title(GTK_WINDOW(Dialogue), "Boite de dialogue");
	
	Bt = gtk_button_new_with_label("Afficher la \nboite de dialogue");
	// montre la fenetre en appelant gtk_widget_show(Dialogue);
	gtk_signal_connect_object(GTK_OBJECT(Bt), "clicked", (GtkSignalFunc)gtk_widget_show_all, (GtkObject*)Dialogue);
	gtk_container_add(GTK_CONTAINER(Fenetre), Bt);

	Label = gtk_label_new("Je suis une fenetre\nmodale.");
	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(Dialogue)->vbox), Label, TRUE, TRUE, 0);

	Bouton = gtk_button_new_with_label("Fermer");
	// cache la fenetre en appelant gtk_widget_hide(Dialogue);
	gtk_signal_connect_object(GTK_OBJECT(Bouton), "clicked", (GtkSignalFunc)gtk_widget_hide_all, (GtkObject*)Dialogue);
	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(Dialogue)->action_area), Bouton , TRUE, TRUE, 0);

	gtk_widget_show_all(Fenetre);

	gtk_main();
	
	return(0);
}

Conclusion :


Il existe evidement bien d'autres fonction pour gerer les fenetre. je vous conseille de voir e site http://www.gtk.org

A voir également

Ajouter un commentaire

Commentaires

Messages postés
178
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
14 août 2008

Nickel le code !!
Messages postés
12
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
17 juillet 2003

Kool!Je met 7/20.

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.