Bonjour j'aimerais savoir s'il existe une fonction qui permet de tester si un button a ete cliker.. le g_signal_connect ne me convient pas pour mon probleme. Merci
Bonjour j'aimerais savoir s'il existe une fonction qui permet de tester si un button a ete cliker.. le g_signal_connect ne me convient pas pour mon probleme. Merci
Bonjour.
Au vu de ta question je suppose que tu désires savoir après coup, et non à l'instant t, si un bouton a été enfoncé. Si c'est bien ça alors c'et à toi de le gérer.
Tu crées un callback attaché au bouton avec la fameuse fonction g_signal_connect(); dans lequel tu changes l'état d'un booléen dont tu auras la possibilité de sonder l'état ailleurs dans ton code. ( je ne t'incite pas par ces quelques mots à déclarer une variable globale).
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
je vois mal comment determiner mon callback.
Jai une boucle qui contient plusieur button et je veux just recuperer le numero du button qui est clickei.. il me faudrai une fonction du genre is_button_clicked(button[i]).
pouriez m'ecrire un callback svp!
Bonjour.
Je comprends un peu mieux la problématique.
On peut, et je dirai même on doit, écrire tant que faire ce peut un seul callback pour gérer une liste de boutons qui vont pratiquement faire la même chose.
Il suffit donc de connecter tous les boutons à un même callback. Le prototype de ce callback te permet de récupérer en premier argument le pointeur du bouton cliqué.
Soit tu disposes de la liste des pointeurs de chaque bouton et il te suffit alors de rechercher dedans le pointeur reçu dans le callback, soit tu attaches à chaque bouton un nom via gtk_widget_set_name(); (je te donne cette fonction de tête je n'ai pas la doc sous la main) et tu récupères le nom du widget cliqué dans le callback avec gtk_widget_get_name();
De tête je crois que le prototype du callback attaché au signal clicked est void on_signal_clicked (GtkWidget *widget, gpointer userdata);
widget est le pointeur du bouton cliqué.
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
pouriez vous m'aider a ecrir ce callback.. le probleme C'est que en plus de recuperer les pointeur du button je veux aussi recuperer son numero(i).
Bon je vous donne un exemple:
for(i=0;i<no_voiture;i )
{ newvoiture [i], .button =gtk_button_new_with_label(ch);
g_signal_connect(newvoiture [i], .button"clicked",g_callback(on_clicked_button),NULL);}
le probleme maintenant C'est dans mon callback je veux utiliser les i du buttonvoiture pour faire newvoiture[i].statut = NON_DISPO
Montres-nous où en est ton code pour que l'on puisse t'éguiller.
Utilisation de Glade avec Gtk+
Code::Blocks et Gtk+ sous Windows
Programmation orientée objet avec Gtk+ v3
- N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk
Partager