Tutoriel Tkinter - Bouton de contrôle
- Exemple de base de bouton de contrôle Tkinter
- Bouton de contrôle Tkinter Sélectionner/Désélectionner
- Basculement de l’état du bouton de contrôle Tkinter
- Liaison des fonctions de rappel des boutons de contrôle Tkinter
- Changer la valeur par défaut de Tkinter Checkbutton
Le widget Checkbutton
est un widget contenant une valeur. Les checkbuttons peuvent contenir du texte ou des images. Il pourrait aussi lier la fonction de rappel à appeler lorsque le bouton de contrôle est cliqué.
Pour créer un widget de bouton de contrôle dans une fenêtre parentale existante, utilisez
tk.Checkbutton(parent, option, ...)
Exemple de base de bouton de contrôle Tkinter
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.BooleanVar()
chkValue.set(True)
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue)
chkExample.grid(column=0, row=0)
app.mainloop()
chkValue = tk.BooleanVar()
Chaque bouton de contrôle doit être associé à une variable. Le type de données de la variable est déterminé par le bouton de contrôle lorsqu’il est sélectionné/désélectionné.
chkValue.set(True)
Il définit la valeur d’origine du bouton de contrôle. Comme il est juste assigné avec le type de données boolean
, vous n’avez que deux options ici, True
ou False
.
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue)
Maintenant, l’instance du bouton de contrôle est finalement créée avec la variable chkValue
que nous avons créée ci-dessus.
chkExample.grid(column=0, row=0)
grid
est un autre type de gestionnaire de disposition Tkinter en plus du pack
introduit dans la section Tkinter Label.
Tkinter a trois gestionnaires de disposition/géométrie,
pack
grid
place
Nous allons présenter ces gestionnaires de disposition/géométrie dans une section de ce tutoriel.
Bouton de contrôle Tkinter Sélectionner/Désélectionner
L’utilisateur peut cliquer sur le bouton de contrôle dans l’interface graphique pour sélectionner ou désélectionner le bouton. Vous pouvez aussi sélectionner ou désélectionner le bouton de contrôle en utilisant les méthodes select()
et deselect()
.
chkExample.select()
print "The checkbutton value when selected is {}".format(chkValue.get())
chkExample.select()
print "The checkbutton value when deselected is {}".format(chkValue.get())
The checkbutton value when selected is True
The checkbutton value when deselected is False
Ici, la valeur du bouton de contrôle est obtenue par la méthode get()
.
Basculement de l’état du bouton de contrôle Tkinter
L’état du bouton de vérification peut être modifié par select()
et deselect()
, et il peut aussi être basculé en utilisant la méthode toggle()
.
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.BooleanVar()
chkValue.set(True)
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue)
chkExample.grid(column=0, row=0)
print "The checkbutton original value is {}".format(chkValue.get())
chkExample.toggle()
print "The checkbutton value after toggled is {}".format(chkValue.get())
chkExample.toggle()
print "The checkbutton value after toggled twice is {}".format(chkValue.get())
app.mainloop()
The checkbutton original value is True
The checkbutton value after toggled is False
The checkbutton value after toggled twice is True
Liaison des fonctions de rappel des boutons de contrôle Tkinter
Le widget Checkbutton est utilisé pour sélectionner les états et il peut également lier la fonction de rappel à l’événement lorsqu’il est sélectionné/désélectionné, ou plus simplement, basculé. Chaque fois que l’état du bouton de contrôle est basculé, la fonction de rappel est déclenchée.
import tkinter as tk
from _cffi_backend import callback
def callBackFunc():
print "Oh. I'm clicked"
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.BooleanVar()
chkValue.set(True)
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue, command=callBackFunc)
chkExample.grid(column=0, row=0)
app.mainloop()
Chaque fois que vous appuyez sur le bouton de contrôle, vous pouvez voir qu’il affiche Oh. I'm clicked
dans la console.
L’option command
dans la classe Checkbutton est destinée à lier la fonction ou la méthode de rappel lorsque le bouton est pressé.
Changer la valeur par défaut de Tkinter Checkbutton
La valeur par défaut correspondant au bouton non sélectionné est 0, et la valeur par défaut du bouton sélectionné est 1. Et vous pouvez également changer les valeurs par défaut des boutons et leur type de données associé à l’autre valeur et/ou type de données.
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.StringVar()
chkExample = tk.Checkbutton(
app, text="Check Box", var=chkValue, onvalue="RGB", offvalue="YCbCr"
)
chkExample.grid(column=0, row=0)
chkExample.select()
print "The checkbutton value when selected is {}".format(chkValue.get())
chkExample.deselect()
print "The checkbutton value when deselected is {}".format(chkValue.get())
app.mainloop()
The checkbutton value when selected is RGB
The checkbutton value when deselected is YCbCr
chkExample = tk.Checkbutton(
app, text="Check Box", var=chkValue, onvalue="RGB", offvalue="YCbCr"
)
Les options onvalue
et offvalue
permettent de modifier les valeurs des états sélectionnés et non-sélectionnés. Ils peuvent avoir des types de données comme Int
, String
, Float
ou autres.
_tkinter.TclError
.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