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 :

Utilisation de gtk


Sujet :

GTK+ avec C & C++

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut Utilisation de gtk
    Bonsoir,

    j'essaye de me familliariser avec gtk, et ce n'est pas gagner.

    J'écris un programme qui doit manipuler des images. J'utilise GtkImage pour ouvrir l'image depuis un fichier puis quelques unes des fonctions de manipulation d'images disponibles pour faire les opérations que je veux.

    En compilant, j'ai une erreur que je ne comprends pas.
    error: ‘struct _GtkImage’ has no member named ‘pixbuf’
    Concernant la ligne "retour" du code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int taille_image(GtkImage *image, int x0, int y0, int x1, int y1) {
      GdkPixbuf* retour;
    ...
      retour = gdk_pixbuf_get_from_image (image->pixbuf, image->image, NULL, x0, y0, 0, 0, l, h);
    Comment cette erreur peut-elle avoir lieu alors que http://library.gnome.org/devel/gtk/2.12/GtkImage.html indique
    Properties

    "file" gchararray : Read / Write
    "icon-name" gchararray : Read / Write
    "icon-set" GtkIconSet : Read / Write
    "icon-size" gint : Read / Write
    "image" GdkImage : Read / Write
    "mask" GdkPixmap : Read / Write
    "pixbuf" GdkPixbuf : Read / Write
    "pixbuf-animation" GdkPixbufAnimation : Read / Write
    "pixel-size" gint : Read / Write
    "pixmap" GdkPixmap : Read / Write
    "stock" gchararray : Read / Write
    "storage-type" GtkImageType : Read
    que gtkimage.h defini ce type ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef struct _GtkImage       GtkImage;
    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
    struct _GtkImage
    {
      GtkMisc misc;
    
      GtkImageType storage_type;
      
      union
      {
        GtkImagePixmapData pixmap;
        GtkImageImageData image;
        GtkImagePixbufData pixbuf;
        GtkImageStockData stock;
        GtkImageIconSetData icon_set;
        GtkImageAnimationData anim;
        GtkImageIconNameData name;
      } data;
    
      /* Only used with GTK_IMAGE_PIXMAP, GTK_IMAGE_IMAGE */
      GdkBitmap *mask;
    
      /* Only used with GTK_IMAGE_STOCK, GTK_IMAGE_ICON_SET, GTK_IMAGE_ICON_NAME */
      GtkIconSize icon_size;
    };
    Donc si j'ai bien compris comment tout cela fonctionne, que le paramètre image possède bien un membre appelé pixbuf et que l'erreur ne devrait pas avoir leu.

    Merci de m'éclairer parce que j'ai bien du mal à saisir comment gtk ou plutôt gdk fonctionne.

    PeM

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Citation Envoyé par pem1996 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      retour = gdk_pixbuf_get_from_image (image->pixbuf, image->image, NULL, x0, y0, 0, 0, l, h);
    Il n'est pas conseillé d'accéder aux champs d'une structure, surtout quand c'est indiqué dans la documentation :
    Citation Envoyé par [url=http://library.gnome.org/devel/gtk/2.12/GtkImage.html#GtkImage-struct]GtkImage[/url]
    GtkImage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef struct _GtkImage GtkImage;
    This struct contain private data only and should be accessed by the functions below.
    Si tu veux récupéré le GdkPixbuf correspondant à ton GtkImage tu as la fonction gtk_image_get_pixbuf qui est faite pour ça

    Plus généralement pour récupérer une propriété d'un objet (donc d'un widget), tu peux utiliser la fonction g_object_get.

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Ok, je vais essayer comme ça ce soir. Je n'avais pas vu cette recommandation et le "read/write" en face du membre m'avait fait pensé qu'on pouvait directement le manipuler.

    Ceci dit, c'est moins pratique de devoir passer par des fonctions, des affectations, etc. en dehors de la fonction ; mon code va s'alourdir de 4 lignes au moins rien que pour pouvoir lancer cette fonction. Je ne suis pas certain que ça soit plus lisible ensuite. C'est juste mon avis.

    Merci.

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par pem1996 Voir le message
    mon code va s'alourdir de 4 lignes au moins rien que pour pouvoir lancer cette fonction. Je ne suis pas certain que ça soit plus lisible ensuite. C'est juste mon avis.
    Accessoirement ça t'évitera de faire des bêtises, puisque tu ne peux accéder qu'à l'attribut pixbuf ou image selon le type sous quelle forme est stockée l'image (GtkImageType) qui dépend du la méthode utilisée pour créer l'objet. Par conséquent ça m'étonnerai fortement que tu puisse lire le format GdkImage et écrire le GdkPixbuf d'un même objet GtkImage !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Je ne comprends pas. Comment faire pour rogner les bords d'une image ? Je suis obliger de copier l'image dans une autre ?

    Ceci ne pourra pas fonctionner pour envoyer l'image rognée dans l'image d'origine (retour ne sert que comme test d'erreur) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pixtmp=gtk_image_get_pixbuf(image);
    gtk_image_get_image(image,imgtmp,masktmp);
    retour = gdk_pixbuf_get_from_image (pixtmp, *imgtmp, NULL, x0, y0, 0, 0, l, h);

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Après avoir réduit à la portion congrue gtk, je pensais pouvoir travailler correctement. C'était sans compter sur
    The storage type (gtk_image_get_storage_type()) of the returned image is not defined, it will be whatever is appropriate for displaying the file.
    dans la description de la fonction gtk_image_new_from_file
    Autrement dit, on se charge de lire l'imagedepuis un fichier, mais vous ne pourrea pas l'utiliser.

    Et en effet,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_image_get_storage_type(Gimage);
    Me retourne GTK_IMAGE_EMPTY, donc forcément
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g_assert (GTK_IS_IMAGE(Gimage));
    stoppe le programme.
    Je précise que si je supprime ces lignes de mon code, l'image s'affiche bien dans la fenêtre, donc
    gtk_image_get_storage_type(Gimage) != GTK_IMAGE_EMPTY

    La question est : y a-t-il un moyen avec gtk de charger une image depuis un fichier, puis d'accéder aux pixels afin de les transférer dans une structure utilisable ? Si oui, lequel ?

    Merci

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    C'est ce que font les GdkPixbuf.
    Attention, quand la doc de l'api parle de proprietes, ca ne veut pas dire que ton objet a un champ correspondant que tu peux dereferencer. La notion de propriete correspond aux proprietes des gobjects qui sont accessibles via g_object_get et g_object_set

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Ok.
    Concrètement, comment puis-je faire pour charger une image depuis un fichier et avoir ensuite accès aux pixels ?

    gtk_image_new_from_file()
    puis
    monpixbuf=image->PixBuf
    ??

    Merci.

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Non, gdk_pixbuf_new_from_file et puis tu joues avec ton pixbuf, je te laisse regarder l'API doc des GdkPixbuf

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Merci infiniment pour le nom de cette fonction, je n'aurai jamais pu trouver !

    La doc API de gtk n'indique pas cette fonction :
    http://library.gnome.org/devel/gdk/u...k-Pixbufs.html
    http://library.gnome.org/devel/gdk/u...dk-Images.html

    ni ne fourni de fonction permettant de lire depuis un fichier.

    Je l'ai trouvée sur http://library.gnome.org/devel/gdk-p...e-loading.html

    En fait, selon la page de doc, la table des matières (la maison) n'est pas la même. Je serais tombé sur la bonne page, j'aurai eu la bonne doc.


    Compte-tenu de cela, existe-t-il quelque part une liste exhaustive, si possible classée par catégories, de toutes les fonctions de GTK et la même chose pour GDK. Ou sinon une archives des pages html dela doc pour pouvoir en tirer la liste des fonctions. J'ai déjà bien galéré pour trouver les infos dans gtk, puis me diriger vers gdk, et je suppose que ta réponse n'est pas la fin de mes problèmes.

    PeM

  11. #11
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par pem1996 Voir le message
    Merci infiniment pour le nom de cette fonction, je n'aurai jamais pu trouver !

    La doc API de gtk n'indique pas cette fonction :
    http://library.gnome.org/devel/gdk/u...k-Pixbufs.html
    http://library.gnome.org/devel/gdk/u...dk-Images.html

    ni ne fourni de fonction permettant de lire depuis un fichier.

    Je l'ai trouvée sur http://library.gnome.org/devel/gdk-p...e-loading.html

    En fait, selon la page de doc, la table des matières (la maison) n'est pas la même. Je serais tombé sur la bonne page, j'aurai eu la bonne doc.


    Compte-tenu de cela, existe-t-il quelque part une liste exhaustive, si possible classée par catégories, de toutes les fonctions de GTK et la même chose pour GDK. Ou sinon une archives des pages html dela doc pour pouvoir en tirer la liste des fonctions. J'ai déjà bien galéré pour trouver les infos dans gtk, puis me diriger vers gdk, et je suppose que ta réponse n'est pas la fin de mes problèmes.

    PeM
    La bibliothèque gérant les Pixbuf est séparée de GDK (sûrement pour une question de taille).

    Toutes les documentation sont répertoriée ici : http://library.gnome.org/devel/references

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Sinon devhelp sous linux permet de naviguer facilement dans les diverses api docs au format gtkdoc (celles de gtk+ par exemple)

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Merci pour le lien ; je viens de voir qu'il y a libglabe qui pourra être utile par la suite et faire gagner du temps.

    Ceci dit, sans trop de surprise, j'ai encore une erreur. !bon, je tatonne pour comprendre.

    Le code est :
    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
    int ouvre_image(char * nom, GdkPixbuf *GPimage, GtkWidget *GWimage, GtkWidget *window) {
    /* ouvre le fichier image "nom" et le stocke dans l'objet GtkImage "*GWimage" */
      int err=0;
      GError **Gerr;
     
      GPimage =gdk_pixbuf_new_from_file(nom,Gerr);
      GWimage = gtk_image_new_from_pixbuf (GPimage);
      gtk_box_pack_start(GTK_BOX(pVBox), GWimage, FALSE, FALSE, 5);	//ajout au conteneur
      gtk_widget_show(GWimage);					//affichage
     
      return err;
    }
     
    int gestion_image(char * nom, GtkWidget *window) {
      int err=0;
      GtkImage *Gimage;
      GdkPixbuf *pixtmp;
     
      err=ouvre_image(nom, pixtmp, GTK_WIDGET (Gimage), window);
     
      return err;
    }
    Je n'ai pas d'erreur de compilation. Mais quand je lance le programme et que j'appelle la fonction gestion_image(), j'obtient l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (spectranalyse:24027): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'
    C'est clairement l'appel à ouvre_image et le transtypage qui ne va pas. Mais pourquoi ? Je ne comprends pas d'où vient l'erreur.


    Sinon, on en procéant autrement, j'otiens une ereur avant que une erreur du type précédent n'ai lieu. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (spectranalyse:25130): GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion `error == NULL || *error == NULL' failed
    pour la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      GPimage =gdk_pixbuf_new_from_file(nom,Gerr);
    Comprend pas.

    Merci.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Si j'en crois cette page et les DEFINE de gtkwidget.h,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      err=ouvre_image(nom, pixtmp, GTK_WIDGET(Gimage), window);
    Ne dois pas retourner d'erreur. Pourtant j'ai bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (spectranalyse:24027): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GtkWidget'
    C'est pas clair du tout !

    En fait c'est plus subtil que ça. La ligne si dessus me fourni toujours cette erreur. Mais si au lieu du code de ma réponse précédente, je mets les 4 lignes qui ouvrent et affiche l'image dans deux fonctions et que j'appelle ces fonctions, en plus, l'image n'est pas affichée, alors que dans l'exemple donné, l'image s'affiche !?
    Pourtant, c'est strictement le même code, simplement placé dans des fonctions au lieu d'être dans le corps de la même fonction. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    int ouvre_image(char * nom, GdkPixbuf *GPimage, GtkWidget *GWimage, GtkWidget *window) {
    /* ouvre le fichier image "nom" et le stocke dans l'objet GtkImage "*GWimage" */
      int err=0;
     
      err=charge_image(nom, GPimage);
      err= affiche_image(GPimage, GWimage, window);
      return err;
    }
    Sachant que affiche_image est déclarée ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int affiche_image(GdkPixbuf *GPimage, GtkWidget *GWimage, GtkWidget *window) {

    Encore un mystère à éclaircir ...

  15. #15
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Citation Envoyé par pem1996 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    int gestion_image(char * nom, GtkWidget *window) {
      int err=0;
      GtkImage *Gimage;
      GdkPixbuf *pixtmp;
     
      err=ouvre_image(nom, pixtmp, GTK_WIDGET (Gimage), window);
     
      return err;
    }
    GtkImage pointe sur une zone memoire aleatoire puisqu'il n'est pas initialise, et GTK_WIDGET effectue des tests pour verifier si la zone sur laquelle pointe GImage correspond bien a un GtkWidget, d'ou l'avertissement

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    ok. En fait, j'ai lu ailleur que quel que soit le widget, il fallait toujours le déclarer comme un widget, donc pas besoin de faire ce transtypage.

    J'ai cependant toujours une erreur.
    J'ai changé afn d'utiliser un widget et non un gtkimage et la fonction gdk_pixbuf_new_from_file() me retourne l'erreur
    GdkPixbuf-CRITICAL **: gdk_pixbuf_new_from_file: assertion `error == NULL || *error == NULL' failed
    Le code est
    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
    int ouvre_image(char * nom, GdkPixbuf *GPimage, GtkWidget *GWimage, GtkWidget *window) {
    /* ouvre le fichier image "nom" et le stocke dans l'objet GtkImage "*GWimage" */
      int err=0;
      GError **Gerr;
     
     
      GPimage =gdk_pixbuf_new_from_file(nom,Gerr);
      GWimage = gtk_image_new_from_pixbuf (GPimage);
      gtk_box_pack_start(GTK_BOX(pVBox), GWimage, FALSE, FALSE, 5);	//ajout au conteneur
      gtk_widget_show(GWimage);					//affichage
     
      return err;
    }
     
    int gestion_image(vecteur spectre, char * nom, GtkWidget *window) {
    /* gère toute l'extraction du spectre */
      int err=0;
      GtkWidget *Gimage;
      GdkPixbuf *pixtmp;
     
      err=ouvre_image(nom, pixtmp, Gimage, window);
      return err;
    }
    et le programme gèle dans cette fonction gdk_pixbuf_new_from_file (un texte affiché dans la fonction ouvre_image() ne l'est que lorsque je ferme la fenêtre).

    Le plus ""drôle"", c'est que je n'ai fait aucune modification consernant cette fonction, (elle utilise un gdkpixbuf et je n'ai touché qu'au gtkimage) : alors pourquoi ça bug !?


    Si au lieu d'appeler dirctemnt la fonction gdk je le fait via une fonction à moi, charge_image(), la seule différence est que le message d'erreur ne s'affiche pas.

    Le fichier existe bien, précédemment il était ouvert et affiché.


    Otez moi un doute de l'esprit ; gdk_pixbuf_new_from_file crée bien un nouveau gdkpixbuf ? Je n'ai pas besoin de l'initialiser au préalable ?


    Pour aller plus vite, qqn pourrait-il me donner le code qui marche pour cet exemple ? Avec comme données, la fenêtre, le widget image, le pixbuf, le nom du fichier et trois fonctions :
    - gestion_image qui s'occupe de la gestion de l'image dont l'ouverture et l'afichage
    - ouvre_image qui ouvre le fichier dans un pixbuf
    - affiche_image qui se charge d'afficher un pixbuf quelconque dans une image quelconque.

    Merci.

  17. #17
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Citation Envoyé par pem1996 Voir le message
    Otez moi un doute de l'esprit ; gdk_pixbuf_new_from_file crée bien un nouveau gdkpixbuf ? Je n'ai pas besoin de l'initialiser au préalable ?
    Oui oui bien sûr, le pb vient du dernier argument GError que tu utilises mal, cf l'exemple (le 2ème) donné sur http://library.gnome.org/devel/glib/...Reporting.html

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 34
    Par défaut
    Merci. J'ai corrigé le pointeur et le paramètre ainsi que l'assignation intiale et l'erreur a bien disparue.

    Ça m'a permi de comprendre la seconde erreur : le paramètre GPimage était passé par valeur et non par adresse ; c'est la chausse-trappe du C : déclarer des pointeur de pointeur et passer des adresse de pointeur ... Je m'y fais toujours prendre.

    Donc avec ce renseignement, mon programme fonctionne enfin. Merci infiniment, je pense que je vais passer une bonne nuit maintenant !

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/03/2015, 00h15
  2. Utilisation de Gtk::KeyFile sous windows
    Par cueffic dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 30/10/2013, 17h42
  3. Utilisation de GTK en C (suite)
    Par tom31 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 19/03/2008, 09h02
  4. [gtkmm] utilisation de gtk+ avec c++
    Par opensource dans le forum GTK+
    Réponses: 4
    Dernier message: 05/10/2007, 11h31
  5. [FEDORA] je n'arrive pas a utiliser le gtk+
    Par inno007 dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 05/04/2007, 19h49

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