| Viewing file:  entry-with-shared-variable.py (1.71 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
from Tkinter import *import string
 
 # This program  shows how to make a typein box shadow a program variable.
 
 class App(Frame):
 def __init__(self, master=None):
 Frame.__init__(self, master)
 self.pack()
 
 self.entrythingy = Entry(self)
 self.entrythingy.pack()
 
 self.button = Button(self, text="Uppercase The Entry",
 command=self.upper)
 self.button.pack()
 
 # here we have the text in the entry widget tied to a variable.
 # changes in the variable are echoed in the widget and vice versa.
 # Very handy.
 # there are other Variable types. See Tkinter.py for all
 # the other variable types that can be shadowed
 self.contents = StringVar()
 self.contents.set("this is a variable")
 self.entrythingy.config(textvariable=self.contents)
 
 # and here we get a callback when the user hits return. we could
 # make the key that triggers the callback anything we wanted to.
 # other typical options might be <Key-Tab> or <Key> (for anything)
 self.entrythingy.bind('<Key-Return>', self.print_contents)
 
 def upper(self):
 # notice here, we don't actually refer to the entry box.
 # we just operate on the string variable and we
 # because it's being looked at by the entry widget, changing
 # the variable changes the entry widget display automatically.
 # the strange get/set operators are clunky, true...
 str = string.upper(self.contents.get())
 self.contents.set(str)
 
 def print_contents(self, event):
 print "hi. contents of entry is now ---->", self.contents.get()
 
 root = App()
 root.master.title("Foo")
 root.mainloop()
 
 |