Cher journal,
Depuis ce matin, je tente de faire passer une structure comme argument d'un fonction (je débute), suite a un click sur un bouton : voila les morceaux de code :
typedef struct maZolieStructure
{
...
gint a;
}MaZolieStructure;
void maFonction(GtkWidget *widget, MaZolieStructure *b)
{
printf("%d\n", b->a);
}
main(...)
{
....
MaZolieStructure b;
b.a = 3;
....
gtk_signal_connect(GTK_OBJECT(boutton),
"clicked",
GTK_SIGNAL_FUNC(maFonction),
&b
);
}
et quand je clique sur le bouton, il m'affiche un nombre aléatoire comme si mon poiteur pointait sur rien ;(
Merci de m'avoir, mon cher journal qui m'aide
PS : Comment faire pour ne pas oublier de cocher cette ... de case Mettre le journal en page principale ?
# Re: Programmation C et GTK+
Posté par j (site web personnel) . Évalué à 0.
là : http://www.gtk-fr.org/(...)
y'a un forum spécialisé
# Re: Programmation C et GTK+
Posté par QuYuan . Évalué à 3.
ta fonction "mafonction()" n'est pas :
void maFonction(GtkWidget *widget, MaZolieStructure *b) ;
mais
void maFonction(GtkWidget *widget, gpointer b) ;
_grosse_ nuance !
Comme elle ne sais pas à priori comment utiliser b, il faut en préciser le type
deux solutions à chaud :
void maFonction(GtkWidget *widget, gpointer b)
{
printf("%d\n", (MaZolieStructure*)b->a);
}
ou
void maFonction(GtkWidget *widget, gpointerb)
{
MaZolieStructure *mzs = (MaZolieStructure *)b;
printf("%d\n", mzs->a);
}
voilà ca devrait marcher.
ai-je été clair ?
[^] # Re: Programmation C et GTK+
Posté par Toto . Évalué à 1.
[^] # Re: Programmation C et GTK+
Posté par QuYuan . Évalué à 1.
content que ca marche
si ca t'interresse, je vais bientot lancer un projet en libre utilisant les libgtk2/glib, je vais essayer de documenter un peu mes sources pour que tout le monde puisse y voir clair.
Et étant moi même plutot débutant en Gtk, j'essaierai d'etre le plus dispo possible pour discuter des sources avec qui le voudra
http://pik.homeip.net/(...)
(pour l'instant, pas grand chose en ligne, du blabla, un screenshot et un binaire qui ne marchait pas chez un pote :/, mais revenvez dans quelques jours )
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.