====== 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 [[nsi:modules:tkinter:zone_de_texte|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. 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.