Hi Alan, I had done what you suggested here, I also tried creating another file for that snipet of the code to see if that section works. The other file works, but I am not able to figure out why the original one doesn't work. The variable here is entrynumberspeciesvar
Code: from Tkinter import * import datetime import tkMessageBox from tkFileDialog import * from tkMessageBox import * root = Tk() root.title("Design of Experiments with Parameter Estimation") root.geometry("1000x1000") statusvar = StringVar() statusvar = "Status Bar" var1 = IntVar() var2 = IntVar() var3 = IntVar() var4 = IntVar() varreac = IntVar() varint = IntVar() varpro = IntVar() varconc = IntVar() vartemp = IntVar() entrynumberspeciesvar = IntVar() def DesignPoint(): print "Inside Design Point" rootdesign=Tk() rootdesign.title("Design Point Suggestions") rootdesign.geometry("700x400") frame1 = Frame(rootdesign) frame1.grid(row=0, column=0) label1 = Label(frame1, text="1. Responses to include: ") label1.grid(row=0, column=0,sticky=W) Label(frame1, text = "Number of species:").grid(row=0, column = 1, sticky=W) entrynumberspecies = Entry(frame1, textvariable = entrynumberspeciesvar) entrynumberspecies.grid(row=0, column = 2, sticky=W) # print entrynumberspeciesvar.get() checkreac = Checkbutton(frame1, text = "Reactant species", variable = varreac) checkreac.grid(row = 1, column = 1, sticky = W) checkreac.select() Checkbutton(frame1, text = "Intermediate species", variable = varint).grid(row = 2, column = 1, sticky = W) Checkbutton(frame1, text = "Product species", variable = varpro).grid(row = 3, column = 1, sticky = W) def Default(): print "Inside default" var1.set(0) var2.set(0) var3.set(0) var4.set(1) Checkbutton(frame1, text = "Vertices", variable=var1, onvalue=1, offvalue=0).grid(row=1, column = 2, sticky=W) Checkbutton(frame1, text = "Edges", variable=var2).grid(row=2, column = 2, sticky=W) Checkbutton(frame1, text = "Faces", variable=var3).grid(row=3, column = 2, sticky=W) check = Checkbutton(frame1, text = "Center", variable=var4) check.grid(row=4, column = 2, sticky=W) check.select() Label(frame1, text="2. Variables to be adjusted:").grid(row=5, column=0,sticky=W) Checkbutton(frame1, text = "Concentration", variable=varconc, onvalue=1, offvalue=0).grid(row=5, column = 1, sticky=W) Checkbutton(frame1, text = "Temperature", variable=vartemp).grid(row=6, column = 1, sticky=W) def InsertRange(): print "Inside InsertRange" # entrynumberspeciesvar.set(2) print entrynumberspeciesvar.get() for i in range(entrynumberspeciesvar.get()): textvar = StringVar() print i textvar = "\t Conc"+str(i) Label(frame1, text=textvar).grid(row=(9+i), column=0,sticky=W) conclowerentry = Entry(frame1) conclowerentry.grid(row= (9+i), column = 1, sticky = W) concupperentry = Entry(frame1) concupperentry.grid(row= (9+i), column = 2, sticky = W) Label(frame1, text="3. Range of formulation:").grid(row=7, column=0,sticky=W) Button(frame1, text = "Insert Range", command = InsertRange()).grid(row = 7, column = 3, sticky=W) Label(frame1, text="Lower Limit").grid(row=7, column=1,sticky=W) Label(frame1, text="Upper Limit").grid(row=7, column=2,sticky=W) Label(frame1, text="\t Temperature").grid(row=8, column=0,sticky=W) templowerentry = Entry(frame1, text="0.0") templowerentry.grid(row= 8, column = 1, sticky = W) tempupperentry = Entry(frame1) tempupperentry.grid(row= 8, column = 2, sticky = W) rootdesign.mainloop() ## Secondary menu bar: menusec = Frame(root, bg="white") butt1 = Button(menusec, text="Part One", command=DesignPoint) butt1.pack(side=LEFT, padx=1) menusec.pack(side=TOP, fill=X) ### --- Status bar ---- #### Status = Label(root, text = statusvar, bd=1, relief=SUNKEN, anchor=W) Status.pack(side=BOTTOM, fill=X) text = Text(root, width=1000, height = 400) text.pack(side=BOTTOM) root.mainloop() I have removed other parts of the code and included only the ones related to the entry box and the work that I need to do. I also tried doing it in another file as mentioned before. That works the exact way I want. Code: from Tkinter import * rootdesign=Tk() rootdesign.title("Design Point Suggestions") rootdesign.geometry("650x400") frame1 = Frame(rootdesign) frame1.grid(row=0, column=0) entrynumberspeciesvar = IntVar() ## Inserting Checkboxes: label1 = Label(frame1, text="1. Responses to include: ") label1.grid(row=0, column=0,sticky=W ) Label(frame1, text = "Number of species:").grid(row=0, column = 1, sticky=W) entrynumberspecies = Entry(frame1, textvariable = entrynumberspeciesvar) entrynumberspecies.grid(row=0, column = 2, sticky=W) def Print(): print entrynumberspeciesvar.get() for i in range(entrynumberspeciesvar.get()): print i textvar = "\t Conc"+str(i+1) Label(frame1, text=textvar).grid(row=(9+i), column=0,sticky=W) conclowerentry = Entry(frame1) conclowerentry.grid(row= (9+i), column = 1, sticky = W) concupperentry = Entry(frame1) concupperentry.grid(row= (9+i), column = 2, sticky = W) Button(frame1, text = "Click", command = Print).grid(row = 2, column = 2, sticky = W) Label(frame1, text="\t Temperature").grid(row=8, column=0,sticky=W) templowerentry = Entry(frame1, text="0.0") templowerentry.grid(row= 8, column = 1, sticky = W) tempupperentry = Entry(frame1) tempupperentry.grid(row= 8, column = 2, sticky = W) rootdesign.mainloop() Please let me know where I am going wrong. Thank you so much. Pooja On Sat, Feb 11, 2017 at 12:52 PM, Alan Gauld via Tutor <tutor@python.org> wrote: > On 11/02/17 15:28, Pooja Bhalode wrote: > > > I am trying to create a label and an entry widget. I am not able to > > understand as to how to access the value input by the user in the entry > > widget. > > > > Label(frame1, text = "Number of species:").grid(row=0, column = 1, > sticky=W) > > entrynumberspecies = Entry(frame1) > > entrynumberspecies.grid(row=0, column = 2, sticky=W) > > > > print entrynumberspecies.get() > > You just accessed it, via the get() method. Did that not work? > > > How can I make the entrynumberspecies store the value in once the user > > inputs it and then use that value for later part of my code? > > You can do it the way you did above using the get() method. > > But you can also do what you did for the checkboxes - use > a StringVar and attach it to the Entry widget textvariable > attribute. That way the variable will reflect whats in > the Entry automatically and if you update the variable > it will update the Entry. (Personally I prefer to use > get() in most cases but many use the StringVar technique.) > See the example at the bottom... > > > or print it for that matter. > > You can print it as you did above or you can store it in > a variable and then print it or you can print the StringVar: > > print myEntry.get() > > myVar = MyEntry.get() > print myVar > > entryVar = StringVar() > myEntry = Entry(.....textvariable=entryVar) > print entryVar.get() > > Here is a minimal example: > > ################ > from Tkinter import * > > def show(): > print "entry says: " + e.get() > print "Variable holds: " + v.get() > > top = Tk() > v = StringVar() > e = Entry(top,textvariable=v) > e.pack() > Button(top,text="Set foobar", command=lambda : v.set("foobar")).pack() > Button(top,text="Show me", command=show).pack() > > top.mainloop() > ################# > > > -- > Alan G > Author of the Learn to Program web site > http://www.alan-g.me.uk/ > http://www.amazon.com/author/alan_gauld > Follow my photo-blog on Flickr at: > http://www.flickr.com/photos/alangauldphotos > > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor