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 :

Demande d'aide GTK+


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Points : 15
    Points
    15
    Par défaut Demande d'aide GTK+
    Bonjour,

    Je suis débutante en programmation et j'aurai une petite question a vous poser , en ce moment j'utilise GTK pour une application d'analyse d'image et afin d'afficher une image dont le chemin a été récupère par la fonction suivante :

    chemin = gtk_file_selection_get_filename(GTK_FILE_SELECTION (file_selection) );

    j'ai en premier crée une nouvelle fenêtre ensuite pour l'affichage de l'image j'ai utilisé ce bout de code mais la fenêtre s'affiche vide:

    GtkWidget *imageTraitement;

    imageTraitement = gtk_image_new_from_file(chemin[30]);

    gtk_box_pack_start(GTK_BOX(fenetreImage),imageTraitement, FALSE, FALSE, 5);

    gtk_widget_show(imageTraitement);
    gtk_widget_show_all(fenetreImage);

    tout en sachant que dans la fenêtre y a pas un autre widget donc pas besoin de créer un box. de ma part je pense que le problème est certainement dans cette partie

    imageTraitement = gtk_image_new_from_file(chemin[30]);

    mais je ne connais pas une autre manière de lui passer le chemin vu que je ne peux pas faire "chemin" sinon il le prendra pour une chaine de caractère non pas le contenu du chemin.

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Points : 15
    Points
    15
    Par défaut
    J'ai finalement trouvé la réponse avec l'aide de quelqu'un voici la réponse pour ceux qui en auront besoin

    imageTraitement = gtk_image_new_from_file(chemin);
    gtk_container_add(GTK_CONTAINER(fenetreImage), imageTraitement);

    Merci

  3. #3
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Bonjour,

    c'est un problème de C plus qu'un problème GTK+...
    Tu ne nous montre pas la partie la plus intéressante : la déclaration de ta variable chemin. Mais en gros, tu confonds encore tableau de caractères et pointeur vers une chaine de caractères.

    Au passage, gtk_file_selection_get_filename est déprécié, et ne devrait plus être utilisé.
    Ta variable chemin devrait être un const gchar *, car c'est ce que renvoie gtk_file_selection_get_filename. Ensuite, la notation chemin[30] signifie "case n°30 du tableau chemin", alors que la chaine de caractère débute à la case n°0. Si c'est un tableau de caractères, &chemin[0] désigne la première case, mais chemin aussi. Et si c'est un pointeur vers un buffer de caractères, alors l'adresse du premier caractère c'est chemin.

    Donc en utilisant toujours la syntaxe chemin, tu ne risques pas de te tromper .

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Merci pour ta réponse. Oui effectivement c'était plus un problème de C mais n'empêche que la fonction que je devais connaitre est celle de GTK .

    pour la déclaration de chemin la voici

    const gchar* chemin;

    Mais je crois tout de même que ce que j'ai donné peut toujours servir un débutant pour la simple raison qu'avant de poster ce message j'ai cherché sur le net et la plus parts des questions étaient sur l'affichage de l'image.

    mais juste pour bien comprendre les choses crois tu que l'utilisation de GTK est un bon choix?

    Bonne soirée

  5. #5
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Oui, GTK est un bon choix, c'est un toolkit assez agréable à utiliser. Ensuite je me demande comment ton code peut fonctionner...

    Si tu as déclaré chemin en tant que const gchar *, ce code est erroné, car tu fournis un char et pas un char * :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imageTraitement = gtk_image_new_from_file(chemin[30]);
    Tu aurais dû écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imageTraitement = gtk_image_new_from_file(chemin);
    Oh, et pour faire les choses bien (c'est à dire, ne pas utiliser de fonctions dépréciées, et qui auront disparu dans GTK 3), tu devrais utiliser un GtkFileChooserDialog plutôt qu'un GtkFileSelection...

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Points : 15
    Points
    15
    Par défaut fonction GTK pour la recuperation d'un chemin
    Bonjour,

    pour la déclaration j'ai mis chemin non pas chemin[30] je ne sais pas que fait le 30 ici il n'est pas dans mon code enfin pas dans cette partie la j'ai mis :

    imageTraitement = gtk_image_new_from_file(chemin);
    gtk_container_add(GTK_CONTAINER(fenetreImage), imageTraitement);

    merci beaucoup pour la fonction je vais travailler avec , aussi je te remercie pour ta réponse concernant GTK.

    Bonne journée

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

Discussions similaires

  1. demande aide gtk
    Par oumi112233 dans le forum GTK+
    Réponses: 1
    Dernier message: 11/01/2015, 21h30
  2. Demande d'aide pour une requête
    Par arkzor dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/12/2004, 03h40
  3. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 20h38
  4. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 19h10

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