# File: entryform.py
# References:
# http://infohost.nmt.edu/tcc/help/pubs/tkinter//entry.html
# http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_entry.htm
from tkinter import *
from tkinter import ttk
from demopanels import MsgPanel, SeeDismissPanel
class EntryFormDemo(ttk.Frame):
def __init__(self, isapp=True, name='entryformdemo'):
ttk.Frame.__init__(self, name=name)
self.pack(expand=Y, fill=BOTH)
self.master.title('Entry Form Demo')
self.isapp = isapp
self._create_widgets()
def _create_widgets(self):
if self.isapp:
MsgPanel(self,
["This window contains a simple form where you ",
"can type in the various entries and use tabs ",
"to move circularly between the entries."])
SeeDismissPanel(self)
self._create_demo_panel()
def _create_demo_panel(self):
demoPanel = Frame(self)
demoPanel.pack(side=TOP, fill=X)
self.flds = [] # entry fields
lbls = ['Name:', 'Address:', '', '', "Phone:"]
for i in range(5):
f = ttk.Frame()
f.pack(in_=demoPanel, side=TOP, fill=X, padx=10)
lbl = ttk.Label(text=lbls[i], width=10)
e = ttk.Entry(width=20)
self.flds.append(e) # save reference to field
# on resize, expand entry but not label
lbl.pack(in_=f, side=LEFT)
e.pack(in_=f, side=LEFT, expand=Y, fill=X)
self.flds[0].focus_set()
if __name__ == '__main__':
EntryFormDemo().mainloop()
Friday, August 3, 2012
Tkinter Entry Form Demo
This code is based on the Tcl form.tcl demo. An example of laying out a simple, rolodex type form.
Labels:
Tkinter Demos,
Tkinter Entry