Bouton lie a une fonction

Bouton lie a une fonction - Python - Programmation

Marsh Posté le 12-02-2004 à 09:53:41    

Bonjour,
 
Je voudrais que le clic sur un bouton appelle une procedure avec un parametre.
 
Par exemple :

Code :
  1. def print_button(texte):
  2.     print texte
  3. fen1 = Tk()
  4. btn = Button(fen1, text="BONJOUR", command=print_button("BONJOUR" )).pack()


 
 
Mais ca ne marche pas , le clic sur le bouton ne fait rien... par contre si je mets :
 
btn = Button(fen1, text="BONJOUR", command=print_button).pack()
 
et que ma fonction print_button affiche un message predefini, ca marche.
 
Le probleme est donc le passage de parametre a la fonction.
 
Quelqu'un peut il m'aider ?
 
Merci
A+

Reply

Marsh Posté le 12-02-2004 à 09:53:41   

Reply

Marsh Posté le 12-02-2004 à 13:52:05    

oui le probleme c que tu peux passer de parametre aussi facilemnt que ca a ta fonction
essaye d'utiliser un truc come ca

Code :
  1. ## Auteur: Eric Brunel
  2. class GenericCallback:
  3.   def __init__(self, callback, *firstArgs):
  4.     self.__callback = callback
  5.     self.__firstArgs = firstArgs
  6.   def __call__(self, *args):
  7.     apply(self.__callback, self.__firstArgs + args)
  8. ## Exemple d'utilisation
  9. from Tkinter import *
  10. from tkMessageBox import showinfo
  11. root = Tk()
  12. def showDialog(num):
  13.   showinfo("Dialogue %s" % num, "Bonjour! Je suis le dialogue numero %s" % num)
  14. for i in range(10):
  15.   b = Button(root, text="Bouton %s" % i, command=GenericCallback(showDialog, i))
  16.   b.pack()
  17. root.mainloop()


 
les sources viennent de la http://wikipython.flibuste.net/moin.py/TKinter
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed