May-02-2020, 06:49 PM
Don't use exec use a dictionary
import tkinter as tk from functools import partial root = tk.Tk() root_2 = tk.Tk() labels = {} def function(number): if number not in labels.keys(): label = tk.Label(root_2, text=f'On{number}') label.pack() labels[number] = label else: label = labels.pop(number) label.destroy() for number in range(20): switch = tk.Button( root, text=f'On{number}', command=partial(function, number)) switch.pack() root.mainloop()