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