1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
from tkinter import *
from tkinter import messagebox # Librairie des fenêtres d'alerte
variables = []
def deleteall():
print("OK")
global new_frame
for widget in frame.winfo_children():
widget.destroy()
def removeLabel(frame, var):
frame.destroy()
ix = variables.index(var)
variables.pop(ix)
# Mise à jour de l'indexation var des frame
for i, v in enumerate(variables[ix:], start=ix):
v.set(i)
def addNewLabel(frame):
new_frame = Frame(frame)
var = IntVar()
var.set(len(variables))
variables.append(var)
Label(new_frame, text="test").grid(row=0, column=0)
for i in range(1, 5):
Label(new_frame, textvariable=var).grid(row=0, column=i)
Button(new_frame, text="Remove",command=lambda: removeLabel(new_frame, var)).grid(row=0, column=i)
new_frame.pack()
if __name__ == '__main__':
root = Tk()
frame = Frame(root)
c = Button(root, text="add label", command=lambda: addNewLabel(frame))
c.grid(column=0, row=0)
d = Button(root, text="suppression", command=lambda: deleteall())
d.grid(column=1, row=0)
frame.grid(row=1, column=1)
root.mainloop() |
Partager