tkinter faire varié un message

tkinter faire varié un message - Python - Programmation

Marsh Posté le 06-05-2016 à 19:34:31    

bonjour
 
j'ai vue que sur tkinter il etait possible de faire varier un message dans un widget "message" etant novices sur se module je ne sais pas comment m'y prendre voici les quelque ligne de code que j'ai deja ecritent:

Code :
  1. c=''
  2. def question():
  3.     b1='une barbe'
  4.     m1='une moustache'
  5.     o1='une boucle d oreille'
  6.     p1='la peau noire'
  7.     l1='des lunettes'
  8.     s1='est une fille'
  9.     g1='des cheveux long'
  10.     g2='des cheveux court'
  11.     c2='des cheveux blond'
  12.     c1='des cheveux brun'
  13.     y2='des yeux bleu'
  14.     Maliste=[b1,m1,o1,p1,l1,s1,g1,g2,c2,c1,y2]
  15.     un_element=random.choice(Maliste)
  16.     echantillon=random.sample(Maliste,1)
  17.     a=echantillon
  18.     return (":".join(a))
  19. v=StringVar(question())
  20. c.set(v)
  21. bout4=Button(fenetre,text=question,command=question())
  22. bout4.pack()
  23. personnage=Message(fenetre,text=c,aspect=300)
  24. personnage.pack()
  25. fenetre.mainloop()


 
je voudrais que le texte present dans le message s'actualise lorsque l'utilisateur appuie sur le bouton en fonction de la fonction "question"
 
merci pour votre aide


Message édité par combatant le 06-05-2016 à 19:38:45
Reply

Marsh Posté le 06-05-2016 à 19:34:31   

Reply

Marsh Posté le 06-05-2016 à 23:01:34    

Il faut que tu utilises le paramètre textvariable de message en lui fournissant comme valeur l'instance de StringVar (qui ne doit pas prendre d'argument).
 
Ensuite, il suffit de créer une fonction intermédiaire que tu passeras dans l'option command du button, cette fonction s'occupera de mettre la valeur de retour de ta fonction dans StringVar via sa méthode set()
 
Mais avant toute chose tu devrais optimiser ton code, ta fonction question est comment dire, crade :o
Toutes ces variables ne servent à rien si c'est pour les mettre dans une liste, ta variable un_element ne sert également à rien puisque tu t'en sers pas.


---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
Reply

Sujets relatifs:

Leave a Replay

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