On Wed, 06 Aug 2008 06:01:59 +0200, Atul <[EMAIL PROTECTED]> 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