Dans Dernière fois, j'ai écrit la partie basique de Tkinter en Python. Cette fois, je vais vous montrer comment créer dynamiquement un bouton Tkinter Check.
Un organigramme d'une idée simple.
Python
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import Tkinter
import tkMessageBox
root = Tkinter.Tk()
root.title(u"Software Title")
root.geometry("400x300")
#
#Variables globales
#
hLabel = [] #Stocke la poignée de l'étiquette
hCheck = [] #Stocke la poignée de la case à cocher
CheckVal = [] #Stocke si la case est cochée
#
#Obtenir le statut de vérification de la case à cocher
#
def check(event):
for n in range(len(CheckVal)):
if CheckVal[n].get() == True:
label = Tkinter.Label(text=u"Vérifié")
label.place(x=100, y=20*n + 50)
else:
label = Tkinter.Label(text=u"Non vérifié")
label.place(x=100, y=20*n + 50)
#Ajout d'une poignée d'étiquette
hLabel.append(label)
#
#Créer des cases à cocher dynamiquement
#
def make(ebent):
#Obtenir le nombre de cases à cocher à créer (valeur d'entrée)
num = Entry1.get()
#Supprimer les cases à cocher et les étiquettes existantes
for n in range(len(hCheck)):
hCheck[n].destroy()
hLabel[n].destroy()
#Vider le tableau
del CheckVal[:]
del hCheck[:]
del hLabel[:]
#Boucle pour la valeur saisie dans Entry1
for n in range(int(num)):
#Créer une BooleanVar
bl = Tkinter.BooleanVar()
#Déterminez la valeur de la case à cocher
bl.set(False)
#Créer une case à cocher
b = Tkinter.Checkbutton(text = "article" + str(n+1), variable = bl)
b.place(x=5, y=20*n + 50)
#Ajouter la valeur de la case à cocher à la liste
CheckVal.append(bl)
#Ajouter une poignée de case à cocher à la liste
hCheck.append(b)
button1 = Tkinter.Button(root, text=u'Créer un bouton de vérification',width=20)
button1.bind("<Button-1>",make)
button1.place(x=90, y=5)
button2 = Tkinter.Button(root, text=u'Obtenez un chèque',width=15)
button2.bind("<Button-1>",check)
button2.place(x=265, y=5)
Entry1 = Tkinter.Entry(root, width=10)
Entry1.place(x=5, y=5)
root.mainloop()