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+ Discussion :

icones pour les sous menus


Sujet :

GTK+

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut icones pour les sous menus
    Bonjour, je suis entrain de coder un programme pour faire un menu.
    Je voulais mettre des icones à coté de chaque sous menu("Ouvrir", "Enregistrer"...) ainsi qu'un raccourci (par exemple pour Ouvrir Ctrl_O )
    sauf ke le code ke g fé ne marche pa (g suivi le cours "les menus" de ce site pour faire mon code)
    voilà 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
    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
    #include <stdlib.h>
    #include <gtk/gtk.h>
    void onquitter(GtkWidget* widget, gpointer data);
    int main(int argc, char *argv[])
    {
        GtkWidget *fenetre;
        GtkWidget *boxvertical;
        GtkWidget *menubar;
        GtkWidget *menu;
        GtkWidget *menuitem;
        gtk_init(&argc,&argv);
        /*creation de la fenetre*/
        fenetre=gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_default_size(GTK_WINDOW(fenetre),320,200);
        g_signal_connect(G_OBJECT(fenetre),"destroy",G_CALLBACK(gtk_main_quit),NULL);
        boxvertical=gtk_vbox_new(FALSE,0);
        gtk_container_add(GTK_CONTAINER(fenetre), boxvertical);
        /*Creation du menu bar*/
        menubar=gtk_menu_bar_new();//creation du menu bar
        /*creation du menu*/
        menu=gtk_menu_new();
        /*creation du 1er sous menus*/
        menuitem=gtk_image_menu_item_new_with_label("Nouveau jeu");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
     
        menuitem=gtk_image_menu_item_new_with_label("Enregistrer partie");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
     
        menuitem=gtk_image_menu_item_new_with_label("Meilleurs scores");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
     
        menuitem=gtk_image_menu_item_new_with_label("Quitter");
        g_signal_connect(G_OBJECT(menuitem), "activate",G_CALLBACK(onquitter),(GtkWidget*) menu);
        gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
        /*nom du 1er menu et introduction des sous menus dans le menu*/
        menuitem=gtk_image_menu_item_new_with_label("JEU");
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu);
        /*introduction du menu dans le menu bar*/
        gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem);
     
        /**second menu et sous menu**/
        /*creation du 2eme menu*/
        menu=gtk_menu_new();
        /*creation du second sous menu*/
        menuitem=gtk_image_menu_item_new_with_label("Demo");
        gtk_menu_shell_append(GTK_MENU_ITEM(menu), menuitem);
     
        menuitem=gtk_menu_item_new_with_label("Aide");
        gtk_menu_shell_append(GTK_MENU_ITEM(menu), menuitem);
     
        /*Nom du 2eme menu et introduction des sous menus dans le menu bar */
        menuitem=gtk_menu_item_new_with_label("?");
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu);
     
        /*introduction du menu dans le menu bar*/
        gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem);
     
        /*ajout du 2eme menu à la box*/
        gtk_box_pack_start(GTK_BOX(boxvertical), menubar, FALSE, TRUE, 0);
     
        gtk_widget_show_all(fenetre);
        gtk_main();
        return 0;
    }
    void onquitter(GtkWidget* widget, gpointer data)
    {
        GtkWidget *pQuestion;
     
        pQuestion = gtk_message_dialog_new(GTK_WINDOW(data),
            GTK_DIALOG_MODAL,
            GTK_MESSAGE_QUESTION,
            GTK_BUTTONS_YES_NO,
            "Voulez vous vraiment\n"
            "quitter le jeu?");
     
        switch(gtk_dialog_run(GTK_DIALOG(pQuestion)))
        {
            case GTK_RESPONSE_YES:
                gtk_main_quit();
                break;
            case GTK_RESPONSE_NONE:
            case GTK_RESPONSE_NO:
                gtk_widget_destroy(pQuestion);
                break;
        }
    }
    merci

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Salut.

    Sans répondre à ta question pour encadrer ton code et s-il-te-plait, .

    P.S. : ne prends pas ce message comme une agression mais plutôt comme un simple rappel d'utilisation de ce forum. Pour ta question, pas d'inquiétude, tu vas avoir des réponses.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    je suis nouvelle sur le forum donc je ne savais pas toutes les règles, dorénavant je vais écrire normalement.
    Mais j'ai besoin de la réponse le plus tôt possible pour continuer mon code.
    Merci

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Pour obtenir ce que tu veux utilises la fonction gtk_image_menu_item_new_from_stock();.
    Lis le descriptif de cette fonction il t'explique en plus les raccourcis clavier.

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 608
    Par défaut
    Citation Envoyé par zolafencer Voir le message
    sauf ke le code ke g fé ne marche pa (g suivi le cours "les menus" de ce site pour faire mon code)
    Je ne comprends pas du tout ce langage qui est inapproprié ici !
    J'ai du mettre des choses qui te conviendraient dans le document que je travaille : http://troumad.org/OOo/menu.odt . Toute remarque est la bienvenue aussi bien au sujet de l'orthographe, grammaire et des menus.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Pour obtenir ce que tu veux utilises la fonction gtk_image_menu_item_new_from_stock();.
    Lis le descriptif de cette fonction il t'explique en plus les raccourcis clavier.
    mais je comprends pas qu'est ce que je dois mettre entre les parenthèses.
    Merci

  7. #7
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 608
    Par défaut
    Citation Envoyé par zolafencer Voir le message
    mais je comprends pas qu'est ce que je dois mettre entre les parenthèses.
    Merci
    As-tu regardé mon document ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  8. #8
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Le premier argument est le nom de l'icône que tu veux utiliser. par exemple GTK_STOCK_OPEN pour avoir une entrée "Ouvrir" avec l'iĉone correspondant à côté.
    Pour le deuxième argument tu le mets à NULL. Cette donnée sert pour les raccourcis claviers.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    Citation Envoyé par troumad Voir le message
    As-tu regardé mon document ?
    oui j'ai regardé mon document mais j'ai pas compris grande chose d'autant plus qu'on n'a pas fait en cours ce que t'as cité toi dans le document.
    Je dois travailler avec la fonction gtk_image_menu_item_new_from_stock.
    Merci bcp.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Le premier argument est le nom de l'icône que tu veux utiliser. par exemple GTK_STOCK_OPEN pour avoir une entrée "Ouvrir" avec l'iĉone correspondant à côté.
    Pour le deuxième argument tu le mets à NULL. Cette donnée sert pour les raccourcis claviers.
    Mais moi je veux avoir des noms d'icone genre "Nouveau jeu" ou encore "meilleures scores", comment je dois faire dans ce cas là?
    et Pour le deuxieme argument je dois avoir des raccourcis et non pas des NULL, qu'est ce que je dois mettre alors?
    merci pour les réponses en fait

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    un autre problème dans mon code, c'est celui de la rubrique quitter.
    Dans mon code j'ai mis une fonction appelée "onquitter" qui demande si l'utilisateur veut vraiment quitter et puis selon la réponse il exécute sauf que ça marche pas et il ne demande rien et en plus il quitte même pas!!

  12. #12
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Pas tout en même temps s'il te plait.

    Pour avoir une entrée personnalisée tu la crées en utilisant la fonction GtkWidget *gtk_image_menu_item_new_with_label (const gchar *label);. Ensuite tu charges l'image que tu veux mettre à côté du label via la fonction GtkWidget *gtk_image_new_from_file (const gchar *filename); ou GtkWidget *gtk_image_new_from_stock (const gchar *stock_id, GtkIconSize size);.

    Une fois fait tu affectes l'image à l'entrée du menu avec la fonction void gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item, GtkWidget *image);.

    Pour la fonction quitter on verra plus tard. Chaque chose en son temps

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Pas tout en même temps s'il te plait.

    Pour avoir une entrée personnalisée tu la crées en utilisant la fonction GtkWidget *gtk_image_menu_item_new_with_label (const gchar *label);. Ensuite tu charges l'image que tu veux mettre à côté du label via la fonction GtkWidget *gtk_image_new_from_file (const gchar *filename); ou GtkWidget *gtk_image_new_from_stock (const gchar *stock_id, GtkIconSize size);.

    Une fois fait tu affectes l'image à l'entrée du menu avec la fonction void gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item, GtkWidget *image);.

    Pour la fonction quitter on verra plus tard. Chaque chose en son temps
    j'ai mis comme ça pour le chargement de l'image et le label
    /*creation du 1er sous menus*/
    menuitem=gtk_image_menu_item_new_with_label("Nouveau jeu");
    menuitem=gtk_image_new_from_file("123freesolitaire_pyramid_screenshot.jpeg");
    gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
    mais pour l'affectation de l'image à l'entrée du menu j'ai pas compris comment je fais ni où est ce que je la place la fonction(c'est à dire juste après avoir écrit ça ou à la fin?).
    Merci pour ton aide

  14. #14
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Non. Dans ton code tu utilises deux fois le même pointeur pour initialiser une entrée de menu et pour initialiser une image. Il faut bien entendu dissocier les deux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /*creation du 1er sous menus*/
    GtkWidget *image=NULL;
     
    menuitem = gtk_image_menu_item_new_with_label("Nouveau jeu");
    image = gtk_image_new_from_file("123freesolitaire_pyramid_screenshot.jpeg");
    gtk_image_menu_item_set_image(menuitem, image);
    gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    c'est bon pour ce problème, reste celui du quitter , je ne sais toujours pas pourquoi ça ne marche pas.

  16. #16
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Ici rien de bien compliqué. Attention à la manipulation des pointeurs . Dans la fonction onquitter(); tu veux récupérer en pointeur personnel le pointeur de la fenêtre principale. MAlheureusement tu lui transmets le pointeur du menu. Gtk+ n'est pas d'accord et te le "hurle" sur la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (essai:5019): GLib-GObject-WARNING **: invalid cast from `GtkMenu' to `GtkWindow'
     
    (essai:5019): Gtk-CRITICAL **: IA__gtk_message_dialog_new: assertion `parent == NULL || GTK_IS_WINDOW (parent)' failed
     
    (essai:5019): Gtk-CRITICAL **: IA__gtk_dialog_run: assertion `GTK_IS_DIALOG (dialog)' failed
     
    (essai:5019): Gtk-CRITICAL **: IA__gtk_widget_destroy: assertion `GTK_IS_WIDGET (widget)' failed
    La première ligne est assez explicite. Il suffit pour remettre tout ca dans l'ordre de transmettre le bon pointeur ::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g_signal_connect(G_OBJECT(menuitem), "activate",G_CALLBACK(onquitter),(GtkWidget*)fenetre);

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    Il me reste un petit truc, c'est la taille de l'image.
    Regarde dans mon exemple, l'icone de nouvelle partie est trop grande, comment je fais pour l'adapter à la taille de la rubrique "nouvelle partie".
    Merci encore


    #include <stdlib.h>
    #include <gtk/gtk.h>
    void onquitter(GtkWidget* widget, gpointer data);
    int main(int argc, char *argv[])
    {
    GtkWidget *fenetre;
    GtkWidget *boxvertical;
    GtkWidget *menubar;
    GtkWidget *menu;
    GtkWidget *menuitem;
    GtkWidget *image=NULL;
    gtk_init(&argc,&argv);
    /*creation de la fenetre*/
    fenetre=gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(fenetre),320,200);
    g_signal_connect(G_OBJECT(fenetre),"destroy",G_CALLBACK(gtk_main_quit),NULL);
    boxvertical=gtk_vbox_new(FALSE,0);
    gtk_container_add(GTK_CONTAINER(fenetre), boxvertical);
    /*Creation du menu bar*/
    menubar=gtk_menu_bar_new();//creation du menu bar
    /*creation du menu*/
    menu=gtk_menu_new();
    /*creation du 1er sous menus*/

    menuitem = gtk_image_menu_item_new_with_label("Nouveau jeu");
    image = gtk_image_new_from_file("nouvelle partie.png");
    gtk_image_menu_item_set_image(menuitem, image);
    gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);

    menuitem=gtk_image_menu_item_new_with_label("Enregistrer partie");
    image = gtk_image_new_from_stock(GTK_STOCK_SAVE,GTK_ICON_SIZE_MENU );
    gtk_image_menu_item_set_image(menuitem, image);
    gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);

    menuitem=gtk_image_menu_item_new_with_label("Meilleurs scores");
    gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);

    menuitem=gtk_image_menu_item_new_with_label("Quitter");
    g_signal_connect(G_OBJECT(menuitem), "activate",G_CALLBACK(onquitter),(GtkWidget*) fenetre);
    gtk_menu_shell_append(GTK_MENU_SHELL(menu),menuitem);
    /*nom du 1er menu et introduction des sous menus dans le menu*/
    menuitem=gtk_image_menu_item_new_with_label("JEU");
    gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu);
    /*introduction du menu dans le menu bar*/
    gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem);

    /**second menu et sous menu**/
    /*creation du 2eme menu*/
    menu=gtk_menu_new();
    /*creation du second sous menu*/
    menuitem=gtk_image_menu_item_new_with_label("Demo");
    gtk_menu_shell_append(GTK_MENU_ITEM(menu), menuitem);

    menuitem=gtk_menu_item_new_with_label("Aide");
    gtk_menu_shell_append(GTK_MENU_ITEM(menu), menuitem);

    /*Nom du 2eme menu et introduction des sous menus dans le menu bar */
    menuitem=gtk_menu_item_new_with_label("?");
    gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu);

    /*introduction du menu dans le menu bar*/
    gtk_menu_shell_append(GTK_MENU_SHELL(menubar), menuitem);

    /*ajout du 2eme menu à la box*/
    gtk_box_pack_start(GTK_BOX(boxvertical), menubar, FALSE, TRUE, 0);

    gtk_widget_show_all(fenetre);
    gtk_main();
    return 0;
    }
    void onquitter(GtkWidget* widget, gpointer data)
    {
    GtkWidget *pQuestion;

    pQuestion = gtk_message_dialog_new(GTK_WINDOW(data),
    GTK_DIALOG_MODAL,
    GTK_MESSAGE_QUESTION,
    GTK_BUTTONS_YES_NO,
    "Voulez vous vraiment\n"
    "quitter le jeu?");

    switch(gtk_dialog_run(GTK_DIALOG(pQuestion)))
    {
    case GTK_RESPONSE_YES:
    gtk_main_quit();
    break;
    case GTK_RESPONSE_NONE:
    case GTK_RESPONSE_NO:
    gtk_widget_destroy(pQuestion);
    break;
    }
    }

  18. #18
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Pour rectifier la taille il te faut passer par les GdkPixbuf. Tu peux par exemple utiliser gdk_pixbuf_new_from_file_at_size (); pour charger l'image à la taille que tu veux puis créer un GtkImage avec la fonction gtk_image_new_from_pixbuf();. Une fois fait tu peux supprimer le GdkPixbuf en utilisant g_object_unref();.

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 29
    Par défaut
    Citation Envoyé par gerald3d Voir le message
    Pour rectifier la taille il te faut passer par les GdkPixbuf. Tu peux par exemple utiliser gdk_pixbuf_new_from_file_at_size (); pour charger l'image à la taille que tu veux puis créer un GtkImage avec la fonction gtk_image_new_from_pixbuf();. Une fois fait tu peux supprimer le GdkPixbuf en utilisant g_object_unref();.
    c'est quoi les paramètres que je dois rentrer dans le gdk_pixbuf_new_from_file_at_size et le gtk_image_new_from_pixbuf?
    et ces deux fonctions là, je les mets à la place de menuitem=gtk_image_menu_item_new_with_label("Demo");
    image=gtk_image_new_from_file("demo.jpg");
    ?
    merci

  20. #20
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    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 315
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size    ("demo.jpg", 40, 40, NULL);
    image = gtk_image_new_from_pixbuf(pixbuf);
    g_object_unref(pixbuf);
    ...

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

Discussions similaires

  1. [DOM] Menu déroulant et DOM. Afficher les sous-menus cachés
    Par glenouve dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/11/2007, 10h42
  2. Limitation d'Access pour les sous-requêtes ?
    Par guidav dans le forum Access
    Réponses: 5
    Dernier message: 19/10/2006, 12h18

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