Skip to content Skip to sidebar Skip to footer

Getting Values Of Dynamically Generated Entry Fields Using Tkinter

I've got a list of attributes such as cost, price, isObsolete etc. which I would like to dynamically generate as a label with an Entry field underneath, for the user to insert the

Solution 1:

Save StringVar in array

from Tkinter import *

master = Tk()

frame = Frame(master)
frame.pack()

s_vars = []

for i in range(5):
    s_vars.append( StringVar() )

    def onChange(a ,b, c, s_var):
        print a, "changed to", s_var.get()

    s_vars[i].trace('w', lambda a, b, c, x=i: onChange(a, b, c, s_vars[x]) )

    en = Entry(frame, textvariable=s_vars[i])
    en.pack()

    s_vars[i].set( str(i) )

mainloop()

Post a Comment for "Getting Values Of Dynamically Generated Entry Fields Using Tkinter"