Outils pour utilisateurs

Outils du site


nsi:modules:tkinter:bouton

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.

nsi/modules/tkinter/bouton.txt · Dernière modification : de goupillwiki