Proposal: Making Tkinter easier to use for "sinners" converted from Perl/Tk ;-)
pf at artcom-gmbh.de
Thu Mar 16 09:56:40 CET 2000
Long time Python/Tkinter users know, that the Tkinter widget methods
w.pack(), w.grid() and w.place() return 'None'. This is different
from Perl/Tk, where users can do something like this (here shown in
Python syntax in order to treat your stomach with appropriate care):
r = Tkinter.Tk()
f = Tkinter.Frame().pack() # <--- !
l = Tkinter.Label(f, text="Foo bar").grid() # <--- !
(Insiders will notice, that the outlined example will go into the well known
geometry fighting infinite loop... ;-)
Currently you have to write the offending two lines as:
f = Tkinter.Frame(); f.pack()
l = Tkinter.Label(f, text="Foo bar"); l.grid()
because 'f' and 'l' would become 'None' otherwise. However to
make the former work, only 3 small changes to $PYTHON/lib/lib-tk/Tkinter.py
are required: Appeding a 'return self' to the methods 'Pack.pack_configure',
'Grid.grid_configure' and 'Place.place_configure' would do the trick.
Now I wonder, whether existing Python/Tkinter apps could break from
such a change, because they make some use of the 'None' value currently
returned by the 'pack', 'grid' and 'place' methods?
Peter Funk, Oldenburger Str.86, D-27777 Ganderkesee, Germany, Fax:+49 4222950260
office: +49 421 20419-0 (ArtCom GmbH, Grazer Str.8, D-28359 Bremen)
More information about the Python-list