2.6 Option de vérification du bouton de contrôle
L'effet après l'exécution sera comme l'image ci-dessous, aucune opération n'est effectuée pour le moment.
Si vous sélectionnez uniquement la première option, qui est python dans l'image, l'effet sera le suivant.
Si vous sélectionnez uniquement la deuxième option, qui est c++ dans l'image, l'effet sera le suivant.
Si les deux options sont sélectionnées, l'effet sera le suivant.
Widget de bouton à cocher
var1 = tk.IntVar()
c1 = tk.Checkbutton(window, text='Python', variable=var1, onvalue=1, offvalue=0,
command=print_selection)
c1.pack()
Les paramètres sont similaires aux valeurs onvalue
des composants mentionnés précédemment radiobutton
. Lorsque nous sélectionnons le bouton à cocher, onvalue
la valeur 1 sera mise dans var1
, puis var1 l'assigne au paramètre variable
. offvalue
L'utilisation est similaire, mais offvalue
lorsque le bouton à cocher n'est pas sélectionné , offvalue
la valeur 1 est mise dans var1 puis affectée au paramètre. variable
Il s'agit de créer un composant checkbutton. Par analogie, plusieurs checkbuttons peuvent être créés.
Fonction de déclenchement
def print_selection():
if (var1.get() == 1) & (var2.get() == 0): #如果选中第一个选项,未选中第二个选项
l.config(text='I love only Python ')
elif (var1.get() == 0) & (var2.get() == 1): #如果选中第二个选项,未选中第一个选项
l.config(text='I love only C++')
elif (var1.get() == 0) & (var2.get() == 0): #如果两个选项都未选中
l.config(text='I do not love either')
else:
l.config(text='I love both') #如果两个选项都选中
Par rapport à ce que nous avons appris précédemment print_selection
, ce paragraphe est plus long. En fait, les fonctions sont similaires. Il ajoute juste if...elif...else
un contrôle de sélection, qui s'apparente à des commentaires de code. Comme config
mentionné précédemment, il text
affiche la valeur du paramètre. Voici var1.get() == 1
la var1 obtenue plus tôt, il lesonvalue=1
pouren va var1.get() == 0
obtenues .var1
offvalu=0
var2
Code
import tkinter as tk
window = tk.Tk()
window.title('my window')
window.geometry('200x200')
l = tk.Label(window, bg='yellow', width=20, text='empty')
l.pack()
def print_selection():
if (var1.get() == 1) & (var2.get() == 0):
l.config(text='I love only Python ')
elif (var1.get() == 0) & (var2.get() == 1):
l.config(text='I love only C++')
elif (var1.get() == 0) & (var2.get() == 0):
l.config(text='I do not love either')
else:
l.config(text='I love both')
var1 = tk.IntVar()
var2 = tk.IntVar()
c1 = tk.Checkbutton(window, text='Python', variable=var1, onvalue=1, offvalue=0,
command=print_selection)
c2 = tk.Checkbutton(window, text='C++', variable=var2, onvalue=1, offvalue=0,
command=print_selection)
c1.pack()
c2.pack()
window.mainloop()