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 :

menuitem avec image et label.


Sujet :

GTK+ avec C & C++

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut menuitem avec image et label.
    Bonsoir tout le monde

    Je souhaiterais mettre une icon et un label dans le menuitem.

    Voici le code, il ne fonctionne pas, j'ai regardé sur gtk.org http://www.gtk.org/tutorial/

    Le site ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    e->iconaide = gtk_image_new_from_file("./icon/aide.ico");
     
      e->menuitemaide = gtk_image_menu_item_new_with_label(GTK_WIDGET(e->iconaide),"aide");
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuitemaide);
    Que dois je modiffié.

    Cordialement

    A bientôt

  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 : 47
    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 !


    Déjà, si tu regardais bien dans la ref de l'api, tu aurais pu voir que la fonction gtk_image_menu_item_new_with_label ne prend qu'un seul argument, une chaîne de caractère qui sera le texte sur le label de ce menu item !

    Sinon tu as bon sauf une chose, il faut ajouter ton image avec la fonction gtk_image_menu_item_set_image ... tu verras, ca fonctionnera bien mieux
    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 éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    franchement je ne comprends pas ce tuto.

    voici ce que j'ai fais, mai ca ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      e->menuitemaide = gtk_image_menu_item_new_with_label("aide");
    gtk_image_menu_item_set_image("./icon/aide.ico");
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->affimenuitemaide)
    Pourriez vous éclaicir un peu les choses svp.

    Merci

    Cordialement

    A bientôt

  4. #4
    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 : 47
    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
    Je sais pas si j'écrit mal, dans ce cas je m'en excuse mais je pensais être assez explicit:
    Sinon tu as bon sauf une chose, il faut ajouter ton image avec la fonction gtk_image_menu_item_set_image
    Cela ne voulait en aucun cas dire que tu devais passer une chaîne de caractère à la fonction gtk_image_menu_item_set_image, si tu regarde bien la doc de cette fonction (ref de l'api que je te conseil de consulter avant de poser des questions) qu'elle ne prend en aucun cas une chaîne mais un widget contenant ton image !
    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 !

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Bonjour tout le monde

    Voici ce que j'ai moddifié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    e->iconaide = gtk_image_new_from_file("./icon/help_gif.gif");
    e->menuitemaide = gtk_image_menu_item_new_with_label("aide");
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuitemaide, e->iconaide);
    Voici l'erreur

    too many arguments to function `gtk_menu_shell_append'
    Je pense que c'est une erreur de syntaxe.

    Cordialement

    A bientôt

  6. #6
    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 : 47
    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
    Franchement, il va sérieusement falloir que tu consultes la ref de l'API GTK+ avant de poster, si tu regarde bien le prototype de la fonction gtk_menu_shell_append, tu vois très clairement qu'elle ne prend que 2 paramètres !


    Au cas où: Référence de l'API GTK+
    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 !

  7. #7
    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 : 47
    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 argon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    e->iconaide = gtk_image_new_from_file("./icon/help_gif.gif");
    e->menuitemaide = gtk_image_menu_item_new_with_label("aide");
     gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuitemaide, e->iconaide);
    Comme cité ci-dessous, toutes les informations se trouvent dans la doc officielle de GTK+. Je sais, elle n'est pas très explicite mais il faut à tout prix apprendre à travailler avec car là, tu aurais bien pu éviter la moitié de tes questions mais je vais te montrer comment faire avec ton menu, je suis pas comme ca

    Bon déjà, pour les deux premières instructions c'est ok ! Ensuite, si tu avais pris un peu la peine de bien regarder sur cette GtkImageMenuItem, que tu as bien sûr du consulté, tu aurais pu voir en tout premier qu'il existe une fonction: gtk_image_menu_item_set_image !

    Moi étant curieux, j'aurais cliqué sur le lien de cette fonction pour voir ce qu'elle fait très exactement:
    Sets the image of image_menu_item to the given widget. Note that it depends on the show-menu-images setting whether the image will be displayed or not.
    Bon ok, on ne peut être plus explicite, regardons un peu les arguments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    image_menu_item : a GtkImageMenuItem.
    image : 	  a widget to set as the image for the menu item.
    Bin là on sais maintenant que cette fonction ajoute une image sur le ton e->menuitemaide donc on passe ce widget en premier argument et le second n'est rien d'autre que ton image e->iconaide ce qui donne comme code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    e->iconaide = gtk_image_new_from_file("./icon/help_gif.gif");
    e->menuitemaide = gtk_image_menu_item_new_with_label("aide");
     
    gtk_image_menu_item_set_image (
       GTK_IMAGE_MENU_ITEM (e->menuitemaide),
       e->iconaide
    );
     
    gtk_menu_shell_append(GTK_MENU_SHELL(e->menu), e->menuitemaide);

    Voilà, j'espère que tu as tout compris mais y'a franchement rien de bien compliqué là dedans, suffit de lire un peu la doc c'est tout, c'est une habitude à prendre
    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 !

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Par défaut
    Re

    Merci, Franck.H

    Mon probleme est que j'ai du mal à comprendre les shema explicatif de la faq.

    Je vais le revoir.

    A +

  9. #9
    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 : 47
    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 argon
    Re

    Merci, Franck.H

    Mon probleme est que j'ai du mal à comprendre les shema explicatif de la faq.

    Je vais le revoir.

    A +
    Quel schéma ? De quelle FAQ ?


    Moi ce que j'ai fait, c'est une collection de macros/fonctions pour la création de menu car c'est vrai, ce sont des parties assez longues à coder surtout s'il y'a beaucoup de menus mais avec mes macros cela se fait en quelques lignes

    Si jamais ca t'interesses: GTK_Macros_Menus Tu pourras au moins voir une façon de faire les menus avec en plus des raccourcis clavier (optionnel)
    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 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [GTK+ 3.0][C][Linux] menuitem avec label et image.
    Par Luke spywoker dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 02/12/2014, 02h30
  2. JRadioButton - Icone dans le label, mais avec image dans JAR
    Par Caalador dans le forum Composants
    Réponses: 0
    Dernier message: 27/01/2010, 13h45
  3. fenetre avec image de fond et label
    Par vodasan dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 06/08/2008, 14h34
  4. probleme roll over sur un label avec image
    Par ScorpioMilo dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 03/06/2008, 21h07
  5. boîte de dialogue avec image de fond + texte
    Par Eugénie dans le forum MFC
    Réponses: 13
    Dernier message: 31/08/2004, 13h32

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