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 :

Affiche fentre avec un bouton


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut Affiche fentre avec un bouton
    Bonjour,

    Je souhaite réaliser un programme en langage C qui affiche une fenetre avec un bouton par exemple. J'ai vu kil fallait installer une bibliothèque graphique. j'ai essayer gtk mais je n'y arrive pas... Quelqu'un peut t'il m'aider???

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Salut et bienvenue sur les forums de developpez.com

    Citation Envoyé par gy0m76
    Bonjour,

    Je souhaite réaliser un programme en langage C qui affiche une fenetre avec un bouton par exemple. J'ai vu kil fallait installer une bibliothèque graphique. j'ai essayer gtk mais je n'y arrive pas... Quelqu'un peut t'il m'aider???

    Merci d'avance
    Oui GTK+ convient parfaitement pour ca et en plus c'est portable et 100 fois plus simple que l'API Win32 Si disais ce que tu n'arrives pas à faire ca pourrais aider non ? Si tu as déjà tapé ton code montre le aussi
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    Voici le code

    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
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    static void helloWorld (GtkWidget *wid, GtkWidget *win)
    {
      GtkWidget *dialog = NULL;
     
      dialog = gtk_message_dialog_new (GTK_WINDOW (win), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, "Hello World!");
      gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
      gtk_dialog_run (GTK_DIALOG (dialog));
      gtk_widget_destroy (dialog);
    }
     
     
    int main (int argc, char *argv[])
    {
      GtkWidget *button = NULL;
      GtkWidget *win = NULL;
      GtkWidget *vbox = NULL;
     
      /* Initialize GTK+ */
      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);
     
      /* Create the main window */
      win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      gtk_container_set_border_width (GTK_CONTAINER (win), 8);
      gtk_window_set_title (GTK_WINDOW (win), "Hello World");
      gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
      gtk_widget_realize (win);
      g_signal_connect (win, "destroy", gtk_main_quit, NULL);
     
      /* Create a vertical box with buttons */
      vbox = gtk_vbox_new (TRUE, 6);
      gtk_container_add (GTK_CONTAINER (win), vbox);
     
      button = gtk_button_new_from_stock (GTK_STOCK_DIALOG_INFO);
      g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (helloWorld), (gpointer) win);
      gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
     
      button = gtk_button_new_from_stock (GTK_STOCK_CLOSE);
      g_signal_connect (button, "clicked", gtk_main_quit, NULL);
      gtk_box_pack_start (GTK_BOX (vbox), button, TRUE, TRUE, 0);
     
      /* Enter the main loop */
      gtk_widget_show_all (win);
      gtk_main ();
      return 0;
    }
    Il y a plein d'erreurs a la compilation...

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Et si tu postais les erreurs?

    PS: Beeeerk encore un type qui sépare les fonctions de leur parenthèse ouvrante...
    Mais vous trouvez vraiment ça plus lisible ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    voila les erreurs kil m'affichent
    Images attachées Images attachées  

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    La première erreur explique beaucoup de choses: Le compilo ne trouve pas le header de GTK.
    (visual C++ aurait indiqué une erreur fatale au lieu de nous sortir un tas d'erreurs saugrenues résultant de ce header manquant...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    et ke doi-je fair pour remédier a cela????

  8. #8
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    C'est au choix, soit tu n'as pas installé les libs et header ou tu n'as pas renseigné le compilateur sur l'existence de ces headers. Comment as-tu installé GTK+ et pour quel EDI ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    j'ai installer gtk+ dev 2.10.6 et gtk_dev_2.10.3.DevPak

  10. #10
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    j'ai installer gtk+ dev 2.10.6 et gtk_dev_2.10.3.DevPak
    Mouais là en toute logique ca devrait fonctionner, surtout par la biais d'une installation avec un devpack ... moi je suis sur Code::Blocks (sous Windows et Linux) avec sous Windows une installation de la 2.8.x de GTK+ mais ca marche

    As-tu vérifié que dans les paramètres de ton projet, s'y trouvent bien les dossiers vers les entêtes et les libs ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  11. #11
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    cmt verifie ton cela?!?!

  12. #12
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    cmt verifie ton cela?!?!
    Heu bin tu doit sans doute avoir un menu non ? Projets/Options du projet voir même Projets/Options de compilation, etc... je ne connais pas le programme par coeur vu que je ne l'ai pas

    Mais franchement en générale je recommande de ne pas utiliser Dev-cpp, c'est un programme mort, il n'est plus maintenu car il sont successeur: Code::Blocks
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  13. #13
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    exact mais impossible de l'ouvrir...

  14. #14
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Dev-C++ a toujours certains avantages sur Code::Blocks
    (paramètres séparés pour compilo C et C++, et surtout la possibilité de compiler un fichier seul sans projet...)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  15. #15
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    exact mais impossible de l'ouvrir...
    Qu'est-ce qu'il est impossible d'ouvrir ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  16. #16
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    je ne peut pas aller dans project/project options
    Ce n'est pas sélectionnable

  17. #17
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par gy0m76
    je ne peut pas aller dans project/project options
    Ce n'est pas sélectionnable
    Parce que tu programmes comme un chacal...

    Commence par créer un projet...

  18. #18
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gy0m76
    je ne peut pas aller dans project/project options
    Ce n'est pas sélectionnable
    Ouais forcément, si tu ne créé pas de projets tu risque pas d'aller bien loin. Regarde dans ta liste de projets, tu devrais voir un projet GTK+ s'afficher avec l'icône de GTK+ justement, bin tu prend ca et tout devrais fonctionner normalement
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  19. #19
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Médinoc
    Dev-C++ a toujours certains avantages sur Code::Blocks
    (paramètres séparés pour compilo C et C++,
    profiles...
    et surtout la possibilité de compiler un fichier seul sans projet...)
    Dans l'espace de travail (workspace) :
    Click droit sur le fichier
    'compile'.

  20. #20
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 151
    Par défaut
    c vrai ke ca marche mieux, mais il y a tjs des erreurs dans la compilation...

    Code X : 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
    Compiler: Default compiler
    Building Makefile: "C:\Documents and Settings\Administrateur\Mes documents\Gy0m\Makefile.win"
    Executing  make...
    make.exe -f "C:\Documents and Settings\Administrateur\Mes documents\Gy0m\Makefile.win" all
    g++.exe -c main.cpp -o main.o -I"lib/gcc/mingw32/3.4.2/include"  -I"include/c++/3.4.2/backward"  -I"include/c++/3.4.2/mingw32"  -I"include/c++/3.4.2"  -I"include"   
    
    main.cpp:2:21: gtk/gtk.h: No such file or directory
    main.cpp:5: error: variable or field `helloWorld' declared void
    main.cpp:5: error: `GtkWidget' was not declared in this scope
    main.cpp:5: error: `wid' was not declared in this scope
    main.cpp:5: error: `GtkWidget' was not declared in this scope
    main.cpp:5: error: `win' was not declared in this scope
    main.cpp:6: error: initializer expression list treated as compound expression
    main.cpp:6: error: expected `,' or `;' before '{' token
    main.cpp: In function `int main(int, char**)':
    main.cpp:18: error: `GtkWidget' undeclared (first use this function)
    main.cpp:18: error: (Each undeclared identifier is reported only once for each function it appears in.)
    main.cpp:18: error: `button' undeclared (first use this function)
    
    main.cpp:19: error: `win' undeclared (first use this function)
    
    main.cpp:20: error: `vbox' undeclared (first use this function)
    main.cpp:23: error: `G_LOG_LEVEL_WARNING' undeclared (first use this function)
    main.cpp:23: error: `GLogFunc' undeclared (first use this function)
    main.cpp:23: error: `g_log_set_handler' undeclared (first use this function)
    main.cpp:24: error: `gtk_init' undeclared (first use this function)
    main.cpp:25: error: `g_log_default_handler' undeclared (first use this function)
    main.cpp:28: error: `GTK_WINDOW_TOPLEVEL' undeclared (first use this function)
    main.cpp:28: error: `gtk_window_new' undeclared (first use this function)
    main.cpp:29: error: `GTK_CONTAINER' undeclared (first use this function)
    
    main.cpp:29: error: `gtk_container_set_border_width' undeclared (first use this function)
    main.cpp:30: error: `GTK_WINDOW' undeclared (first use this function)main.cpp:30: error: `gtk_window_set_title' undeclared (first use this function)
    main.cpp:31: error: `GTK_WIN_POS_CENTER' undeclared (first use this function)
    main.cpp:31: error: `gtk_window_set_position' undeclared (first use this function)
    main.cpp:32: error: `gtk_widget_realize' undeclared (first use this function)
    main.cpp:33: error: `gtk_main_quit' undeclared (first use this function)
    main.cpp:33: error: `g_signal_connect' undeclared (first use this function)
    main.cpp:36: error: `TRUE' undeclared (first use this function)
    main.cpp:36: error: `gtk_vbox_new' undeclared (first use this function)
    main.cpp:37: error: `gtk_container_add' undeclared (first use this function)
    main.cpp:39: error: `GTK_STOCK_DIALOG_INFO' undeclared (first use this function)
    main.cpp:39: error: `gtk_button_new_from_stock' undeclared (first use this function)
    main.cpp:40: error: `G_OBJECT' undeclared (first use this function)
    main.cpp:40: error: `G_CALLBACK' undeclared (first use this function)
    main.cpp:40: error: `gpointer' undeclared (first use this function)
    main.cpp:41: error: `GTK_BOX' undeclared (first use this function)
    main.cpp:41: error: `gtk_box_pack_start' undeclared (first use this function)
    
    main.cpp:43: error: `GTK_STOCK_CLOSE' undeclared (first use this function)
    main.cpp:48: error: `gtk_widget_show_all' undeclared (first use this function)
    main.cpp:49: error: `gtk_main' undeclared (first use this function)
    
    make.exe: *** [main.o] Error 1
    
    Execution terminated

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Afficher/Fermer une fenêtre avec le même bouton
    Par unic0 dans le forum Tkinter
    Réponses: 7
    Dernier message: 08/03/2015, 17h48
  2. Fermer une fenêtre avec un bouton
    Par keikoku84 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 04/12/2014, 23h47
  3. Fermer une fenêtre avec un bouton
    Par labaf dans le forum Tkinter
    Réponses: 2
    Dernier message: 20/04/2013, 17h41
  4. créer une fenêtre avec des boutons
    Par DIDIX dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 12/11/2010, 01h20
  5. Fermer une fenêtre avec un bouton
    Par Sylv3D dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 06/04/2010, 22h42

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