Premiere fenêtre avec gtk

[Résolu]
Signaler
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
-
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
-
Bonjour tout le monde

Je suis en trein de m'initier aux applis fenêtré avec gtk, de façon modulaire.

Voici, ce que j'ai fais, le compilateur n'indique aucune erreur, mai le programme ne veux pas s'executer.

Voici le code complet.

ici fichier interf.h

#ifndef H_INTERF
#define H_INTERF





#include <gtk/gtk.h>





typedef struct
{
   GtkWidget *message;    
   GtkWidget *imgquit;    
   GtkWidget *imgreg;    
   GtkWidget *vbox;    
   GtkWidget *code;    
   GtkWidget *win;
   GtkWidget *reg;
   GtkWidget *hbox;
   GtkWidget *quit;
}
composant;





void enregistrement (composant * e);





#endif



...................................................................................................................................

fichier  interf.c

#include "interf.h"





void enregistrement (composant * e)
{





e->message = gtk_label_new ("Titre de la zone de texte :");
gtk_box_pack_start (GTK_BOX (e->vbox),e->message,FALSE, FALSE, 5);



e->code =gtk_text_view_new();
gtk_box_pack_start (GTK_BOX (e->vbox),e->code, TRUE, TRUE, 0);



e->reg=gtk_button_new_from_stock(GTK_STOCK_OK);




 



 e->quit = gtk_button_new_from_stock(GTK_STOCK_QUIT);
  
   g_signal_connect(
      G_OBJECT(e->quit),
      "clicked",
      G_CALLBACK(gtk_main_quit),
      NULL
   );
  
   gtk_box_pack_start (GTK_BOX (e->hbox),e->reg, FALSE, FALSE, 0);
   gtk_box_pack_start (GTK_BOX (e->hbox), e->quit, FALSE, FALSE, 0);
  
}
............................................................................................................................
ici le main.c

#include <stdlib.h>
#include <gtk/gtk.h>
#include "interf.h"

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





  g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
  gtk_init (&argc, &argv);
  g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);



  
  e.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_container_set_border_width (GTK_CONTAINER (e.win), 8);
  gtk_window_set_title (GTK_WINDOW (e.win), "test");
  gtk_window_set_default_size(GTK_WINDOW(e.win),300,350);
  gtk_window_set_position (GTK_WINDOW (e.win), GTK_WIN_POS_CENTER);
 
  gtk_widget_realize (e.win);
  g_signal_connect (e.win, "destroy", gtk_main_quit, NULL);



 
 



  e.vbox = gtk_vbox_new (FALSE, 5);
  gtk_container_add (GTK_CONTAINER (e.win),e.vbox);



  e.hbox = gtk_hbutton_box_new ();
  gtk_box_pack_end (GTK_BOX (e.vbox), e.hbox, FALSE, FALSE, 5);
  gtk_hbutton_box_set_layout_default ( GTK_BUTTONBOX_END );
  enregistrement (&e);



  
  
 
  gtk_widget_show_all (e.win);
  gtk_main ();
  return 0;
}



Pourriez vous m'aider à resoudre ce problème.

Merci d'avance.

Cordialement

A bientôt

3 réponses

Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonjour tout le monde

Mon problème est réglé.

J'ai interverti les fichiers et ajouté.

void enregistrement (composant * e);

Au main.

Merci

Cordialement

A bientôt
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Qu'est qu'il fait comme erreur alors ?
Messages postés
476
Date d'inscription
samedi 14 août 2004
Statut
Membre
Dernière intervention
2 juin 2012
1
Bonsoir

Le programme ne s'éxecute pas

A+