Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214
Un bouton
Prenons l'exemple d'un bouton dont l'effet est d'ajouter un texte dans une zone de texte. On a déjà dit comment ajouter une zone de texte, voyons maintenant pour le bouton.
# import du module
from tkinter import *
# Construction de la fenêtre principale root
root = Tk()
root.title('Simple exemple') # titre de la fenêtre
# Exemple de bouton et contenu Text
def action_du_bouton():
t.delete("1.0", END) # efface du caractère en 1ere position à la fin
t.insert("1.0", "voilà du texte") # insère au début
t = Text(root, bg='white', height=20, width=10)
b = Button(root, text='mon beau bouton', command=action_du_bouton)
b.pack()
t.pack()
root.mainloop()
On crée une zone de texte et un bouton. Le bouton est enfant de root. Il afficher le texte "mon beau bouton"'. Quand on appuiera dessus, il déclenchera la fonction action_du_bouton
On écrit bien command = action_du_bouton sans les parenthèses. En effet à ce moment on ne veut pas exécuter la fonction. On indique seulement quelle fonction il faut déclencher au moment où on appuiera le bouton. On désigne donc la fonction elle-même et pas le résultat de l'exécution.
</WRAP>
La fonction action_du_bouton va devoir agir sur la zone de texte. Elle travaille donc sur t qui sera alors une variable globale. Notez que, au moment de définir la fonction action_du_bouton, la variable t n'existe pas encore. Ce n'est pas grave, il suffira que t existe quand on exécutera la fonction, c'est à dire quand on appuiera le bouton.
Vous pouvez voir que les arguments des fonctions d'édition, delete et insert'', ne sont pas très intuitives.
