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 :

Afficher image sur un évènement


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut Afficher image sur un évènement
    Et re bonjour ( oui oui vous allez me voir souvent dans les prochains jours ),

    Maintenant que j'ai réussi à afficher une image au chargement de ma fenêtre, je voudrais faire en sorte qu'elle s'affiche dynamiquement.
    Je m'explique : ma fenêtre contient un menu, qui me permet de parcourir mes répertoires et de choisir un fichier ; j'en récupère ensuite le chemin.

    Je voudrais donc pouvoir afficher une image à partir de ce chemin récupéré. Or, ça ne fonctionne pas.

    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
    void recuperer_chemin (GtkWidget *bouton, GtkWidget *file_selection)
    {
    	const gchar* chemin;
    	GtkWidget *pImage;
    	GdkPixbuf *pixbuf;
    	GError *error = NULL;
    	GtkWidget *dialog;
    	chemin = gtk_file_selection_get_filename(GTK_FILE_SELECTION (file_selection) );
     
    	/* Chargement d'une image a partir d'un fichier */
     
    //		pixbuf = gdk_pixbuf_new_from_file(chemin, &error);
    //		if(!error)
    //		{
    //			GdkPixbuf *pixbuf_mini = NULL;
    //			int w = gdk_pixbuf_get_width(pixbuf);
    //			int h = gdk_pixbuf_get_height(pixbuf);
    //
    //			double W = 1200 * 0.7;
    //			double H = 600;
    //
    //			double coeff = 1;
    //
    //			if (w > h) {
    //			coeff = W / w;
    //			}
    //			else {
    //			coeff = H / h;
    //			}
    //
    //			W = w * coeff;
    //			H = h * coeff;
    //
    //			pixbuf_mini = gdk_pixbuf_scale_simple(pixbuf, W, H, GDK_INTERP_NEAREST);
    //			pImage = gtk_image_new_from_pixbuf(pixbuf_mini);
    //			gtk_box_pack_start(GTK_BOX(pVBox), pImage, FALSE, FALSE, 5);
    //		}
    //		else
    //		{
    //			g_critical(error->message);
    //		}
     
    	dialog = gtk_message_dialog_new(GTK_WINDOW(file_selection),
    	GTK_DIALOG_MODAL,
    	GTK_MESSAGE_INFO,
    	GTK_BUTTONS_OK,
    	"Vous avez choisi :\n%s", chemin);
     
    	gtk_dialog_run(GTK_DIALOG(dialog));
    	gtk_widget_destroy(dialog);
    	gtk_widget_destroy(file_selection);
    }
    J'ai laissé en commentaires la partie qui est censé m'afficher mon image et qui ne fonctionne pas. Ce qui n'est pas commenté fonctionne : si je laisse cette boite de dialogue, elle m'affiche bien "vous avez choisi : chemin" quand je clique sur valider.
    Pourquoi alors, l'image ne s'affiche-t-elle pas quand je clique sur valider ?

    Merci à vous !
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  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
    Apparemment tu affiches les codes d'erreur en console. Si ca ne marche pas tu dois avoir quelques chose. Pourrais-tu nous le donner?

  3. #3
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Ben justement, rien

    J'ai passé au débuggueur ( je suis sous Eclipse sous Linux ) et rien non plus, pas d'erreur, les variables sont bien remplies...
    J'suis en train de craquer j'essaie de trouver le pourquoi du comment depuis 13h
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  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
    chemin contient-il le chemin complet de l'image à charger? Un g_printerr("%s\n", chemin); te permettra de vérifier ca en console.

  5. #5
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Oui la variable chemin contient le chemin absolu de l'image ( /home/blabla/xxx/.../image.png ).

    Mais comme dit plus haut, ce même bout de code pour afficher l'image fonctionne lorsque je le mets dans le main ; j'ai bien mon image affichée au lancement de mon application
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  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
    Ok, je comprends mieux alors. Tu as un problème de pointeurs. Montre-nous comment tu appelles void recuperer_chemin (GtkWidget *bouton, GtkWidget *file_selection);.
    Si tu pouvez aussi nous montrer le code avec la création du gtk_file_selection(); ca serait bien.

    Une petite remarque tout de même. Les fonctions associées à gtk_file_selection sont obsolètes. utilises de préférence
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    GtkWidget *         gtk_file_chooser_dialog_new         (const gchar *title,
                                                             GtkWindow *parent,
                                                             GtkFileChooserAction action,
                                                             const gchar *first_button_text,
                                                             ...);

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

Discussions similaires

  1. Afficher image sur une page html via c
    Par Relyss dans le forum Réseau
    Réponses: 3
    Dernier message: 17/12/2009, 11h40
  2. Afficher image sur page jsp depuis DB
    Par c-bolo dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 14/12/2009, 17h24
  3. afficher image sur une case survolée
    Par womannosky dans le forum 2D
    Réponses: 10
    Dernier message: 22/07/2008, 20h57
  4. [css] afficher image sur div différent
    Par mussara dans le forum Mise en page CSS
    Réponses: 20
    Dernier message: 25/07/2006, 12h47
  5. Afficher image sur formulaire
    Par Pfeffer dans le forum 4D
    Réponses: 3
    Dernier message: 24/07/2006, 10h35

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