Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Python

Tkinter Entry widgets 'font' property (API ?) changed in Python 2.5.2 ?

 

 

Python python RSS feed   Index | Next | Previous | View Threaded


atul.nene at gmail

Aug 5, 2008, 9:01 PM

Post #1 of 3 (265 views)
Permalink
Tkinter Entry widgets 'font' property (API ?) changed in Python 2.5.2 ?

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.
2. How can I achieve what I want alternatively ?

Regards,
-- Atul
--
http://mail.python.org/mailman/listinfo/python-list


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


atul.nene at gmail

Aug 9, 2008, 12:51 AM

Post #3 of 3 (235 views)
Permalink
Re: Tkinter Entry widgets 'font' property (API ?) changed in Python 2.5.2 ? [In reply to]

Hi Eric,

Thanks for your response.

> 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')
>

The Windows box reports 8.4.12 whereas the OpenSuze 11 box reports
8.5.2
I suppose the Suze 10.2 box had a lesser version and hence the API
change.

> > 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()
>

This works very well, thank you :)

Regards,
-- Atul
--
http://mail.python.org/mailman/listinfo/python-list

Python python RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.