Tutoriel Tkinter - Bouton

  1. Bouton Tkinter Option par défaut
  2. Rappel de la commande du bouton Tkinter

Le widget de bouton Tkinter est assez similaire au widget d’étiquette Tkinter. Il a presque les mêmes options que celles de l’étiquette, sauf qu’il a une option supplémentaire par défaut. Nous donnerons des détails sur cette option par défaut après un exemple de bouton de base.

Vous pouvez générer deux boutons très simples en utilisant les codes de démonstration ci-dessous.

Tkinter Button_Basic.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    
app = tk.Tk()
button1 = tk.Button(app, text="Python Label 1")
button2 = tk.Button(app, text="Python Label 2")
button1.pack(side=tk.LEFT)
button2.pack(side=tk.LEFT)
app.mainloop()

La fenêtre avec deux boutons adjacents l’un à l’autre apparaît après que vous ayez exécuté les codes.

Tkinter Tutorial_Basic Label

Bouton Tkinter Option par défaut

L’option default dans le bouton indique que le bouton est le bouton par défaut dans l’interface graphique, par exemple, celui qui est invoqué automatiquement lorsque l’utilisateur appuie sur la touche Entrée ou Retour.

Rappel de la commande du bouton Tkinter

L’option command invoque la fonction de rappel lorsque le bouton est pressé.

Tkinter Button_command callback.py
from sys import version_info
if version_info.major == 2:
    import Tkinter as tk
elif version_info.major == 3:
    import tkinter as tk
    

    
app = tk.Tk()
labelExample = tk.Button(app, text="0")

def change_label_number():
    counter = int(str(labelExample['text']))
    counter += 1
    labelExample.config(text=str(counter))
    
buttonExample = tk.Button(app, text="Increase", width=30,
                          command=change_label_number)

buttonExample.pack()
labelExample.pack()
app.mainloop()

Elle crée un bouton et un widget d’étiquette dans la fenêtre principale. Le nombre dans le texte du libellé est augmenté de 1 à chaque fois que le bouton est cliqué.

Tkinter Tutorial_Button Commande Callback

def change_label_number():
    counter = int(str(labelExample['text']))
    counter += 1
    labelExample.config(text=str(counter))

La fonction change_label_number est la fonction invoquée quand le bouton est cliqué. Elle récupère le nombre de label et met ensuite le label augmenté de un.

buttonExample = tk.Button(app, text="Increase", width=30,
                          command=change_label_number)

Elle construit la liaison entre le bouton et sa fonction de rappel.

Tkinter Bouton Commande Fonction de rappel avec arguments

Vous avez besoin d’un objet partiel' de [functools](https://docs.python.org/2/library/functools.html) si vous avez besoin de passer des arguments aux fonctions de rappel. Les objetspartialssont des objets appelables avec les arguments positionnelsargset les arguments de mots-cléskeywords`.

Le code ci-dessous montre comment utiliser cette fonction partielle dans la commande button.

def change_label_number(num):
    counter = int(str(labelExample['text']))
    counter += num
    labelExample.config(text=str(counter))
    
buttonExample = tk.Button(app, text="Increase", width=30,
                          command=partial(change_label_number, 2))
comments powered by Disqus