IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

Glade 3.6 et langage C


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut Glade 3.6 et langage C
    Bonjour.

    J'ai tracé mon interface dans glade mais je sais pas comment lié cette interface avec le code (pas encore fait le le code). je travaille avec langage C en utilisant dev-C++.

    Je veux maintenant le transformer en .xml pour que je puisse l’intégré dans mon code C.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Les fichiers "glade" sont au format xml. Nul besoin de convertir quoi que ce soit. Regarde cette faq pour savoir comment l'utiliser dans ton code C.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    ok
    merci
    mais je sais pas exactement où il faut écrire
    gtk-builder-convert file.glade file.ui

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Oublie cette ligne de commande obsolète.

    Tu peux utiliser directement le fichier généré par Glade dans ton programme grâce aux fonctions associées aux GtkBuilder.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Oublie cette ligne de commande obsolète.

    Tu peux utiliser directement le fichier généré par Glade dans ton programme grâce aux fonctions associées aux GtkBuilder.
    Ne faudrait-il pas mettre à jour également la FAQ et l'excellent article de FranckH qui, du moins pour ma part, est la base de la programmation Gtk+/Glade ?

  6. #6
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par _-Slash-_ Voir le message
    Ne faudrait-il pas mettre à jour également la FAQ et l'excellent article de FranckH qui, du moins pour ma part, est la base de la programmation Gtk+/Glade ?
    En effet. Un petit toilettage ne ferait pas de mal...

  7. #7
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    j'ai essayé mais malheureusement j'ai pas encore réussi à transformer.

    je pense il faut que le fichier.glade devient interface.xml puis interface.c

  8. #8
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    la version glade 3.6 ne génére pas le code

  9. #9
    Invité
    Invité(e)
    Par défaut
    Il faut utiliser gtk-builder.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
     
    static void cb_ok (GtkWidget * p_wid, gpointer p_data)
    {
       GtkWidget   * p_dialog  = NULL;
       const char  * p_text    = p_data;
     
     
       if (p_text != NULL)
       {
          p_dialog = gtk_message_dialog_new (
             NULL,
             GTK_DIALOG_MODAL,
             GTK_MESSAGE_INFO,
             GTK_BUTTONS_OK,
             p_text
          );
     
     
          gtk_dialog_run (GTK_DIALOG (p_dialog));
          gtk_widget_destroy (p_dialog);
       }
    }
     
     
    static void cb_quit (GtkWidget * p_wid, gpointer p_data)
    {
       gtk_main_quit ();
    }
     
     
    int main (int argc, char ** argv)
    {
       GtkBuilder  *  p_builder   = NULL;
       GError      *  p_err       = NULL;
     
     
       /* Initialisation de GTK+ */
       gtk_init (& argc, & argv);
     
     
       /* Creation d'un nouveau GtkBuilder */
       p_builder = gtk_builder_new ();
     
       if (p_builder != NULL)
       {
          /* Chargement du XML dans p_builder */
          gtk_builder_add_from_file (p_builder, "interface.xml", & p_err);
     
          if (p_err == NULL)
          {
             /* 1.- Recuparation d'un pointeur sur la fenetre. */
             GtkWidget * p_win = (GtkWidget *) gtk_builder_get_object (
                p_builder, "window1"
             );
     
     
             /* 2.- */
             /* Signal du bouton Ok */
             g_signal_connect (
                gtk_builder_get_object (p_builder, "button1"),
                "clicked", G_CALLBACK (cb_ok),
                (gpointer) gtk_entry_get_text (
                   GTK_ENTRY (gtk_builder_get_object (p_builder, "entry1"))
                )
             );
     
             /* Signal du bouton Annuler */
             g_signal_connect (
                gtk_builder_get_object (p_builder, "button2"),
                "clicked", G_CALLBACK (cb_quit), NULL
             );
     
     
             gtk_widget_show_all (p_win);
             gtk_main ();
          }
          else
          {
             /* Affichage du message d'erreur de GTK+ */
             g_error ("%s", p_err->message);
             g_error_free (p_err);
          }
       }
     
     
       return EXIT_SUCCESS;
    }
    Pas la même de transformer le fichier glade xml en un fichier xml... c'est déjà du ...xml

    Il ne faut pas oublier l'argument lors de l'édition de liens -Wl-export... (all-symbols ou dynamic je crois qu'il y a une légère différence suivant la plateforme).
    Dernière modification par ok.Idriss ; 29/12/2011 à 13h35.

  10. #10
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    mais comment peut-on écrire
    /* Chargement du XML dans p_builder */
    gtk_builder_add_from_file (p_builder, "interface.xml", & p_err);
    et j'ai pas un fichier extension.xml

  11. #11
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Si ton fichier s'appelle "interface.glade" par exemple donne directement ce nom à la fonction gtk_builder_add_from_file();.
    Si tu tiens absolument à ce que tes fichiers glade aient l'extension .xml renomme les simplement sans essayer une quelconque conversion dessus.

  12. #12
    Membre averti
    Inscrit en
    Juillet 2011
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 36
    Par défaut
    ok
    merci
    je vais essayer ça

Discussions similaires

  1. glade et langage C (window)
    Par luchermannguehi dans le forum Windows
    Réponses: 2
    Dernier message: 10/04/2010, 18h31
  2. langage C et glade et GTK
    Par mallsoul dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 09/04/2010, 03h26
  3. Glade 3 langage C erreur gtk-builder-convert
    Par france38 dans le forum GTK+ avec C & C++
    Réponses: 18
    Dernier message: 28/02/2010, 13h15
  4. [langage] Je cherche un bon livre ?
    Par Anonymous dans le forum Langage
    Réponses: 13
    Dernier message: 09/04/2003, 13h16
  5. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo