
see.signature at no
Aug 6, 2008, 1:13 AM
Post #2 of 3
(248 views)
Permalink
|
|
Re: Tkinter Entry widgets 'font' property (API ?) changed in Python 2.5.2 ?
[In reply to]
|
|
On Wed, 06 Aug 2008 06:01:59 +0200, Atul <atul.nene [at] gmail> wrote: > Hi, > > The snippet : > > entryFontDescr = Entry()["font"] > print self.entryFontDescr > > On Windows XP it displays > > {MS Sans Serif} 8 > > On Suse Linux 10.2 it used to display > > TkTextFont 10 > > I upgraded to OpenSuse 11 and now it shows > > TkTextFont > > I used this snippet to obtain the default font size for an Entry > widget. Now with an OS upgrade, my code is broken. > > The python version on the upgraded box is > > ~> python > Python 2.5.2 (r252:60911, Jun 6 2008, 23:32:27) > [GCC 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036]] on > linux2 > Type "help", "copyright", "credits" or "license" for more information. >>>> > > I dont remember the exact version of Python on the earlier Suse 10.2 > box > > My questions: > > 1. Is this not an API change ? I looked up Python's release > documentation and didn't find any mention of the same. Tkinter is a very thin wrapper over an embedded tcl/tk interpreter. So I guess the API change is caused by a tcl/tk version change, not by a Python one. You can check the version of the tcl/tk interpreter you're using from Python via: root = Tkinter.Tk() root.tk.eval('puts $tcl_patchLevel') root.tk.eval('puts $tk_patchLevel') > 2. How can I achieve what I want alternatively ? I'd use this way: import tkFont entryFontDescr = Entry()["font"] entry_font = tkFont.Font(font=entryFontDescr) print entry_font.actual() > Regards, > -- Atul HTH -- python -c "print ''.join([chr(154 - ord(c)) for c in 'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])" -- http://mail.python.org/mailman/listinfo/python-list
|