Updates about Tk

Kevin Walzer kw at codebykevin.com
Sat Feb 27 12:11:14 EST 2010


On 2/27/10 3:05 AM, Fabiano wrote:
>
> Hi,
> I'm going to start my little journey into the Python's lands.
> I have already red the old posts about but I suppose this is an evolving
> topic.
> I have understood Tk is the default Python's GUI toolkit, I have also
> read that version 8.5 has native widgets and visual improvements.
> My question is:
> Are the new Tk comaprable with other toolkits(Qt, GTK,Wx?)?
> Does Tk lack other features compared to the Qt,GTK,Wx...?
> (Or: is there things you can't simply do with Tk?)
>
> Thanks in advance for replying

In terms of UI, Tkinter as of 8.5 is pretty comparable to the other 
toolkits. The themed ttk widgets use native widgets for things like 
tree/tableviews, buttons, scrollbars, entry fields, labels, etc. If 
there's something that the core widgets don't support, there are both 
higher-level Python widget packages based on Tkinter (PMW, for instance) 
and Tkinter wrappers for Tk widget packages such as tablelist, Bwidgets, 
etc.

More information is here: http://tkinter.unpythonic.net/wiki/

Tk still lacks in a few areas:

1. Native drag-and-drop--you have to install an extension package, 
TkDND, which also has a Python wrapper here: 
http://klappnase.bubble.org/index.html

2. Printing. The other toolkits support this out of the box. With Tk, 
you're pretty limited to lpr and/or generating postscript (on *Nix and 
Mac) and whatever native printing functionality is supported on Windows.

3. HTML rendering. The other toolkits support this natively. There are 
several alternatives on Tk, but none are ideal: see 
http://www.codebykevin.com/blosxom.cgi/2009/11/19#which-html.

I find that Tk is so simple and powerful for most things that its 
limitations are acceptable, or can be worked around. Also, licensing can 
be problematic in some cases. But, as others have discussed, give the 
different toolkits a try and make your own choice.

--Kevin

-- 
Kevin Walzer
Code by Kevin
http://www.codebykevin.com



More information about the Python-list mailing list