Entry Field in a model dialog : TextField Entry « GUI Tk « Python






Entry Field in a model dialog

Entry Field in a model dialog
 
from Tkinter import *
from tkMessageBox import askokcancel           

class Quitter(Frame):                          
    def __init__(self, parent=None):           
        Frame.__init__(self, parent)
        self.pack()
        widget = Button(self, text='Quit', command=self.quit)
        widget.pack(expand=YES, fill=BOTH, side=LEFT)
    def quit(self):
        ans = askokcancel('Verify exit', "Really quit?")
        if ans: Frame.quit(self)



fields = 'First Name', 'Last Name', 'Job'

def fetch(variables):
    for variable in variables:
        print 'Input => "%s"' % variable.get()      

def makeform(root, fields):
    form = Frame(root)                              
    left = Frame(form)                              
    rite = Frame(form)
    form.pack(fill=X) 
    left.pack(side=LEFT)
    rite.pack(side=RIGHT, expand=YES, fill=X)      

    variables = []
    for field in fields:
        lab = Label(left, width=5, text=field)     
        ent = Entry(rite)
        lab.pack(side=TOP)
        ent.pack(side=TOP, fill=X)                 
        var = StringVar()
        ent.config(textvariable=var)               
        var.set('enter here')
        variables.append(var)
    return variables
    
    
def show(variables):
    popup.destroy()                
    fetch(variables)              

def ask():
    global popup
    popup = Toplevel()              
    vars = makeform(popup, fields)
    Button(popup, text='OK', command=(lambda v=vars: show(v)) ).pack()
    popup.grab_set()
    popup.focus_set()
    popup.wait_window()            

root = Tk()
Button(root, text='Dialog', command=ask).pack()
root.mainloop()



           
         
  








Related examples in the same category

1.Entry (Text field) with a label inside a border panelEntry (Text field) with a label inside a border panel
2.Use EntryUse Entry
3.Entry: TextField: get entered valueEntry: TextField: get entered value
4.Entry: enter eventEntry: enter event
5.Use Entry widgets directly and layout by rowsUse Entry widgets directly and layout by rows
6.Entry Fields in a rowEntry Fields in a row
7.Get value from EntryGet value from Entry
8.Set textvariable for Entry
9.Bind enter key to Entry
10.implement a very simple calculator, just evaluating Python math
11.Attached variables