| 12
 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