Tutoriel Tkinter - Bouton

Jinku Hu 30 janvier 2023
  1. Bouton Tkinter Option par défaut
  2. Rappel de la commande du bouton Tkinter
Tutoriel Tkinter - Bouton

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.

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é.

role=“alert”>L’état du bouton doit être actif lorsque son option de commande est activée, sinon, il n’y a pas de rappel invoqué.

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 si vous avez besoin de passer des arguments aux fonctions de rappel. Les objets partials sont des objets appelables avec les arguments positionnels args et les arguments de mots-clés keywords.

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)
)
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook