Python Forum
Creating and destroying dynamic labels in Tkinter
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Creating and destroying dynamic labels in Tkinter
#2
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()
Reply


Messages In This Thread
RE: Creating and destroying dynamic labels in Tkinter - by Yoriz - May-02-2020, 06:49 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Trouble with Tkinter labels Raysz 6 1,571 Sep-11-2023, 02:58 PM
Last Post: deanhystad
  Creating a function interrupt button tkinter AnotherSam 2 5,566 Oct-07-2021, 02:56 PM
Last Post: AnotherSam
  [TKINTER] Problems creating directories in a selected path Vulera 2 2,789 Aug-10-2021, 06:38 PM
Last Post: Vulera
  [Tkinter] modify the html table to include data from tkinter labels rwahdan 0 1,624 Jun-20-2021, 10:33 AM
Last Post: rwahdan
  Tkinter having problems with packing labels? wallgraffiti 0 1,547 Aug-02-2020, 09:26 AM
Last Post: wallgraffiti
  [Tkinter] how to draw dynamic moving scale and potting trace point on waveform in tkinter pytho sameer_1985 0 2,041 May-31-2020, 01:52 PM
Last Post: sameer_1985
  [Tkinter] Tkinter custom widget styling and creating custom theme karolp 6 4,870 May-06-2020, 06:11 PM
Last Post: karolp
  [Tkinter] Problem with tkinter when creating .exe file Jan_97 2 4,622 Feb-27-2020, 05:17 PM
Last Post: Jan_97
  Spacing Between two labels are very far and Top label is not in Center using Tkinter barry76 2 7,100 Jul-30-2019, 10:49 AM
Last Post: wuf

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020