1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| #include <gtk/gtk.h>
/*Déclarations des fonctions*/
void fermetureFenetre(GtkWidget *pFenetre,gpointer data);
void afficherFenetre(GtkWidget *pFenetre,const gchar *titre, int largeur,int hauteur);
void afficherLabel(GtkWidget *pLabel,GtkWidget *pFenetre, const char *texte);
/*Fonction qui ferme le fenetre*/
void fermetureFenetre(GtkWidget *pFenetre,gpointer data)
{
gtk_main_quit();
}
/*Fonction qui affiche une fenetre*/
void afficherFenetre(GtkWidget *pFenetre,const gchar *titre, int largeur, int hauteur)
{
/*Initialisation*/
pFenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); //création
gtk_window_set_title(GTK_WINDOW(pFenetre),titre); //titre fenetre
gtk_window_set_default_size(GTK_WINDOW(pFenetre),largeur,hauteur); //taille
gtk_window_set_position(GTK_WINDOW(pFenetre),GTK_WIN_POS_CENTER); //position centrée
/*Connection du signal de fermeture*/
g_signal_connect(G_OBJECT(pFenetre),"destroy",G_CALLBACK(fermetureFenetre),NULL);
/*Affichage fenetre*/
gtk_widget_show_all(pFenetre);
}
/*Fonction qui affiche un label dans une fenetre*/
void afficherLabel(GtkWidget *pLabel, GtkWidget *pFenetre, const char *texte)
{
pLabel = gtk_label_new("texte"); //création du label
gtk_container_add(GTK_CONTAINER(pFenetre),pLabel); //ajout du label dans la fenetre
}
int main(int argc, char *argv[] )
{
/*Déclaration des variables*/
GtkWidget *pFenetrePrincipale;
GtkWidget *pLabelIP;
/*Initialisation de GTK*/
gtk_init(&argc,&argv);
/*Affichage de la fenetre*/
afficherFenetre(pFenetrePrincipale,"Fenetre principale",400,400);
/*Ajout du label*/
afficherLabel(pLabelIP,pFenetrePrincipale,"Entrez l'IP du serveur");
/*Lancement de la boucle evennementille infini*/
gtk_main();
/*Fin du programme sans erreur*/
return 0;
} |
Partager