Partage
  • Partager sur Facebook
  • Partager sur Twitter

[GTK+] Probleme avec la fonction gtk_button_new_from_stock

Sujet résolu
    21 août 2006 à 19:26:17

    bonjour

    j'ai un probleme avec la fonction gtk_button_new_from_stock qui doit faire un bouton avec une icone

    le bouton se crée mais pas l'icone

    voici le code :
    #include <stdlib.h>
    #include <gtk/gtk.h>

    int main (int argc, char **argv)
    {
      GtkWidget *p_window = NULL;

      /* Initialisation de GTK+ */
      gtk_init (&argc, &argv);

      /* Creation de la fenetre principale de notre application */
      p_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
      g_signal_connect (G_OBJECT (p_window), "destroy", G_CALLBACK (gtk_main_quit), NULL);

      {
        GtkWidget *p_button = NULL;

        p_button = gtk_button_new_from_stock (GTK_STOCK_QUIT);
        gtk_container_add (GTK_CONTAINER (p_window), p_button);
        g_signal_connect (G_OBJECT (p_button), "clicked", G_CALLBACK (gtk_main_quit), NULL);
      }

      /* Affichage de la fenetre principale */
      gtk_widget_show_all (p_window);
      /* Lancement de la boucle principale */
      gtk_main ();
      return EXIT_SUCCESS;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      21 août 2006 à 19:33:50

      Bisard, le code semble correct pourtant. Je suis désolé de cette réponse mais c'était pour signaler que je pense que le problème ne vient pas du code.
      • Partager sur Facebook
      • Partager sur Twitter
        21 août 2006 à 22:31:02

        j'ai reinstallé le runtime et il y a encore ce probleme
        • Partager sur Facebook
        • Partager sur Twitter
          21 août 2006 à 22:38:10

          Si tu es sous windows, essaye de changer le style d'apparence de windows pour voir si cela influe. Pour ce faire, clique droit sur le bureau / propriété / apparence, dans "Fenêtre et bouton" tu peux changer le style pour mettre celui-ci: "Style Windows Xp". Je ne sais pas si cela à un rapport vraiment mais ce serait possible (pardonne moi si je me trompe).
          • Partager sur Facebook
          • Partager sur Twitter
            21 août 2006 à 22:48:32

            Incoyable !!!! :o

            Je n'ai jamais eu ce problème et depuis que j'ai testé ton code, ca ne marche plus ! o_O
            C'est bien étrange ...
            • Partager sur Facebook
            • Partager sur Twitter
              21 août 2006 à 23:59:14

              meme probleme pour moi la premiere fois que sa marchait et la ... plus de ptite image
              • Partager sur Facebook
              • Partager sur Twitter
                21 août 2006 à 23:59:27

                mon code est contagieux lol

                je vais essayer vos techniques

                est ce que sa pourrait venir des argument de la fonction main et de l'initialisation de GTK+ (car c'est le seut truc qui peut varier je croit)
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  22 août 2006 à 1:20:20

                  Celui la je viens de le tester, je suis sur qu'il marche. regarde si tu vois l'image:

                  int main(int argc, char *argv[])
                  {
                          gtk_init(&argc, &argv);
                         
                          GtkWidget *fenetre = NULL;
                         
                          //Fenetre
                          fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);
                          gtk_window_set_default_size( GTK_WINDOW(fenetre), 800, 600 );
                          gtk_window_set_position(GTK_WINDOW(fenetre), GTK_WIN_POS_CENTER);
                          gtk_window_set_title(GTK_WINDOW(fenetre), "Les bouttons avec GTK+");
                         
                          {
                              GtkWidget *pQuitBtn;
                              pQuitBtn = gtk_button_new_from_stock(GTK_STOCK_QUIT);
                              g_signal_connect(G_OBJECT(pQuitBtn), "clicked", G_CALLBACK(gtk_main_quit), NULL);
                              gtk_container_add(GTK_CONTAINER(fenetre), pQuitBtn);
                          }
                         
                          gtk_widget_show_all(fenetre);
                         
                          gtk_signal_connect( G_OBJECT(fenetre), "destroy", G_CALLBACK(gtk_main_quit), NULL );
                          gtk_main();
                         
                          return EXIT_SUCCESS;
                  }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 août 2006 à 11:39:09

                    non je ne voit pas l'image
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 août 2006 à 13:17:11

                      Au fait, a quoi sa sert les guillemet accolades au milieux du code ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        22 août 2006 à 13:26:00

                        Ce sont des accolades, pas des guillemets. En faite, c'est pour créer un bloc au milieu du code, ce qui permet de définir ici le pointeur "pQuitBtn" uniquement dans ce bloc et nul part d'autre. Tu peux biensûr enlever les accolades et mettre la déclaration du pointeur au début du bloc de la fonction main.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          22 août 2006 à 15:00:47

                          Heu oui excusez-moi, des accolades .. j'suis fatigué :p
                          Désolé ..
                          • Partager sur Facebook
                          • Partager sur Twitter
                            22 août 2006 à 22:46:32

                            sinon est ce qu'il existe une fonction qui permet de creer un bouton avec une icone chargée a partir d'une image
                            • Partager sur Facebook
                            • Partager sur Twitter
                              23 août 2006 à 0:07:08

                              Non.

                              La solution est de créer un bouton vide puis d'inclure un GtkImage dedans comme dans n'importe quel GtkContainer.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                23 août 2006 à 20:08:02

                                oki merci

                                je vais essayer comme sa mais je trouve comme resoudre le probleme je vous le dit
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 août 2006 à 14:21:40

                                  Salut, j'avais déjà eu ce problème une fois. Il est vrai que le bouton avec une image dessus c'est plus attrayant qu'un bouton tou moche avec un label.
                                  Alors si je me souviens bien il faut que tu ailles voir du côté de
                                  <citation nom="">C:\\Program Files\\Fichiers communs\\GTK\\2.0\\etc\\gtk-2.0</citation>
                                  Et la tu cherche le fichier gtkrc, il est sans extension.
                                  Tu l'ouvres, tu remplace :
                                  gtk-button-images = 0
                                  par
                                  gtk-button-images = 1
                                  tu enregistre tu recompile ton code tu le lance et vois si ça marche.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    24 août 2006 à 14:28:47

                                    ouah trop cool ca marche

                                    il est trop bizzare ce fichier il y a ecrit je croit que les images ne sont disponible qu'en delphi

                                    merci
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      24 août 2006 à 14:34:22

                                      De rien.
                                      Ouais c'est assez bizarre
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      [GTK+] Probleme avec la fonction gtk_button_new_from_stock

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown